TNB Library
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CDirectInputJoystick クラス

DirectInputジョイスティック管理クラス [詳解]

#include <TnbDxInput.h>

+ CDirectInputJoystick の継承関係図

公開メンバ関数

bool Acquire (void)
 [設定] 実行. [詳解]
 
const DIJOYSTATE2 * Get (INDEX index=0) const
 [取得] 状態取得. [詳解]
 
size_t GetDeviceNum (void) const
 [参照] デバイス数取得. [詳解]
 
virtual LONG GetStickRange (void) const
 [取得] Stickの傾き最大値. [詳解]
 
bool Initialize (HWND hWnd=NULL, DWORD dwMode=DISCL_NONEXCLUSIVE|DISCL_FOREGROUND)
 [設定] 初期化. [詳解]
 
void Poll (void)
 [設定] デバイス状態更新. [詳解]
 
bool Unacquire (void)
 [設定] 停止. [詳解]
 

限定公開メンバ関数

virtual bool OnCreate (CDirectInputDevice &_dx, HINSTANCE hInst)
 [通知] 作成時. [詳解]
 
virtual bool OnSetDataFormat (IDirectInputDevice8 *_px)
 [通知] フォーマット設定時. [詳解]
 
virtual bool OnSetProperty (IDirectInputDevice8 *_px)
 [通知] プロパティ設定時. [詳解]
 

詳解

DirectInputジョイスティック管理クラス

必要ファイル
TnbDxInput.h
DirectX 8 以上の SDK も必要です。
日付
06/06/23 新規作成
09/09/01 整理

TnbDxInput.h488 行目に定義があります。

関数詳解

◆ Acquire()

bool Acquire ( void  )
inherited

[設定] 実行.

覚え書き
Get() する前に必ず一度実行してください。
戻り値
true成功
false失敗

TnbDxInput.h279 行目に定義があります。

◆ Get()

const DIJOYSTATE2 * Get ( INDEX  index = 0) const

[取得] 状態取得.

覚え書き
Acquire() している必要が有ります。
引数
indexインデックス。 0以上、 GetDeviceNum() 未満の値を指定します。
戻り値
NULL失敗。
NULL以外情報構造体ポインタ(インスタンスで保持しているメモリアドレスです)。
lX;StickのX方向の移動量。
lY;StickのY方向の移動量。
rgbButtons[X];各ボタン状態。0以外ならPushed。
など。

TnbDxInput.h504 行目に定義があります。

◆ GetDeviceNum()

size_t GetDeviceNum ( void  ) const
inherited

[参照] デバイス数取得.

戻り値
取得したデバイスの数。

TnbDxInput.h334 行目に定義があります。

◆ GetStickRange()

virtual LONG GetStickRange ( void  ) const
virtual

[取得] Stickの傾き最大値.

本メソッドでは 1000 を返します。

戻り値
傾き最大値.

TnbDxInput.h514 行目に定義があります。

◆ Initialize()

bool Initialize ( HWND  hWnd = NULL,
DWORD  dwMode = DISCL_NONEXCLUSIVE | DISCL_FOREGROUND 
)
inherited

[設定] 初期化.

覚え書き
Acquire() する前に必ず一度実行してください。
引数
hWndウィンドウハンドル。省略できます。
dwModeモード設定。 省略すると 「DISCL_NONEXCLUSIVE | DISCL_BACKGROUND」が指定されます。
DISCL_BACKGROUND バックグラウンド
DISCL_FOREGROUND フォアグラウンド
DISCL_NONEXCLUSIVE 非排他モード
DISCL_EXCLUSIVE 排他モード
戻り値
true成功
false失敗

TnbDxInput.h245 行目に定義があります。

◆ OnCreate()

virtual bool OnCreate ( CDirectInputDevice _dx,
HINSTANCE  hInst 
)
protectedvirtual

[通知] 作成時.

覚え書き
dxに対し DI8DEVCLASS_GAMECTRL を作成しています。
引数
[in,out]_dxデバイスクラスの参照
[in]hInstインスタンス
戻り値
true成功
false失敗

CDirectInputT< DIJOYSTATE2 >を実装しています。

TnbDxInput.h529 行目に定義があります。

◆ OnSetDataFormat()

virtual bool OnSetDataFormat ( IDirectInputDevice8 *  _px)
protectedvirtual

[通知] フォーマット設定時.

覚え書き
c_dfDIJoystick2 フォーマットを指定しています。
引数
[in,out]_pxデバイス
戻り値
true成功
false失敗

CDirectInputT< DIJOYSTATE2 >を実装しています。

TnbDxInput.h541 行目に定義があります。

◆ OnSetProperty()

virtual bool OnSetProperty ( IDirectInputDevice8 *  _px)
protectedvirtual

[通知] プロパティ設定時.

覚え書き
レンジ幅など指定しています。
引数
[in,out]_pxデバイス
戻り値
true成功
false失敗

CDirectInputT< DIJOYSTATE2 >を実装しています。

TnbDxInput.h553 行目に定義があります。

◆ Poll()

void Poll ( void  )
inherited

[設定] デバイス状態更新.

TnbDxInput.h319 行目に定義があります。

◆ Unacquire()

bool Unacquire ( void  )
inherited

[設定] 停止.

戻り値
true成功
false失敗

TnbDxInput.h300 行目に定義があります。