Windowsコード集 上のページ

#0001 ジョイスティッククラス
キーボード、マウス、ジョイスティックを管理できるDirectInputのクラスです。
複数ジョイスティックにも対応しています。

ソース提供:HiRiskさん(hiristurn@mtj.biglobe.ne.jp)


0001.lzh ジョイスティッククラス(7KB)


//インクルード
#include    "Input.h"

//グローバル宣言(キーボード、マウス、ジョイスティックを使用する場合)
CJoystickInput              Input;

//初期化                 ↓ウィンドウハンドル ↓インスタンスハンドル
HRESULT hR = Input.Init( g_hWnd,              g_hInstance );
if  ( hR != TRUE )
{
    //エラー処理
    return  FALSE;
}

//データを更新、キーボード、マウス、ジョイスティックすべてを更新してくれる
Input.Renew();

//更新されたデータを読む

    //マウスの動き
    CursorX += Input.Mouse.lX;
    CursorY += Input.Mouse.lY;

    //マウス右ボタンのパルスデータ
    if  (Input.Mouse.R_Pulse == 0x80)
    {
        //処理を書く
    }

    //キーボードとジョイスティックの情報は、同じ変数に格納されている
    if  ( Input.Control[0].Pulse & KeyRight )
    {
        //処理を書く
    }

    //Input.NUMJoystickのジョイスティック獲得数を使って複数ユーザーにアクセスする
    for  ( i = 0; i < Input.NUMJoystick; i ++ )
    {
        //Input.Control[i].Presentは現在の状態、Input.Control[i].Pulseはパルスデータ
        if  ( Input.Control[i].Present & KeyTrig3 )
        {
            //処理を書く
        }
    }

//終了
Input.Finish();


上のページ