ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

ジョイスティックを使う方法

Win32アプリケーションでジョイスティックを使うにはDirectInputを利用する方法もあるが、JOYINFOを使うともっと簡単にできる。

#include "mmsystem.h"
#pragma comment(lib, "winmm.lib")

JOYINFO JoyInfo;
if ( joyGetPos(JOYSTICKID1,&JoyInfo) == JOYERR_NOERROR)
{
    if(JoyInfo.wXpos<0x3fff)
    {
        // 左を押したときの処理
    }
    if(JoyInfo.wXpos>0xbfff)
    {
        // 右を押したときの処理
    }
    if(JoyInfo.wYpos<0x3fff)
    {
        // 上を押したときの処理
    }
    if(JoyInfo.wYpos>0xbfff)
    {
        // 下を押したときの処理
    }
    if(JoyInfo.wButtons & JOY_BUTTON1)
    {
        // ボタン1を押したときの処理
    }
    if(JoyInfo.wButtons & JOY_BUTTON2)
    {
        // ボタン2を押したときの処理
    }
}

確認しようと思ったらWindowsで使えるジョイスティックが手元に無かった。なので確認はまた明日。

(追記:2006-08-17)
ジョイスティックで動作を確認。また上下左右のコメントの位置が間違っていたので修正。