スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DirectInput で苦戦(´・ω・`)

今まで、DirectXGraphicsを用いてプログラミングをしていたのですが、
他のコンポーネントを使っていなかった為、それらも使おうと思いました。

※DirectX9.0は、 下記の3本柱で構成されています。
-----------------------------------
・DirectInput  (入力)
・DirectXGraphics  (描画)
・DirectSound  (音響)

-----------------------------------

で、今回 使ってみたのがDirectInput。 入力です。

そして、
今回 使ってみて壁にぶつかったのがマウスの座標取得。

ゲームなんかを作る場合、
クライアント領域に対する絶対座標が必要になると思うのですが、
(ゲーム画面のどこにカーソルがあるか?)

DirectInputはどうも
前回のカーソル位置からの差分しか取得してくれないっぽいのです。
※例えば、(5,2)から(8,4)へとカーソルを動かすと、 (8,4)ではなく(3,2)が返って来る。

毎回毎回 相対座標を取得してくれても
何の役にも立たんですよ。


色々と絶対座標を取得する方法は無いのか調べてみたんですが、
今のところ良く分からず。

なので、とりあえずマウスの座標に関してだけ
GetCursorPos関数 & ScreenToClient関数
で、判別する事にしました。

↓こんな感じ。
-------------------------------------------
POINT MousePos;
GetCursorPos(&MousePos);
ScreenToClient(g_hWindow, &MousePos);

-------------------------------------------


あと、今まで無音のプログラムばかり組んできたので、
DirectInputと共に、DirectSoundにも着手してみようかなと思います。
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。