アプリ版:「スタンプのみでお礼する」機能のリリースについて

今Windows APIでゲームを作っています。
例えばキャラクターがマスを移動するときに左ボタンを押すと左に動き
押し続けると一定時間あいたあとにある速さで連続して左に動きます。
case WM_KEYDOWN:
if(wParam == VK_LEFT){
Move(LEFT);
}
現状のプログラムはこんな感じです。

それを押し続けて時間があいてからではなくすぐに左に動くようにしたいです。
それとその後の左に行き続ける速さもできれば調節したいです。
そうするにはどうすればよいのでしょうか?

A 回答 (1件)

>左ボタンを押すと左に動き


>押し続けると一定時間あいたあとにある速さで連続して左に動きます。

WM_KEYDOWNメッセージで処理している…ということは、「キーリピート」に反応しているのでしょう。
# マウスのボタンでもキーリピート効くんですねぇ……試したこと無かったですが。

>それを押し続けて時間があいてからではなくすぐに左に動くようにしたいです。

メッセージで処理している場合は…無理じゃないでしょうかね?
スレッド作って、GetKeyState()で自分で状態を見る。ということになるかと。

>それとその後の左に行き続ける速さもできれば調節したいです。

スレッド内でのGetKeyState()のコール頻度などで制御…でしょうかね。
あとは…DirectInput使うとか。
…使ったことないんですけど。
「DirectInput マウス ボタン」辺りで検索すればみつかるんじゃないでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
調べてみます。

お礼日時:2011/12/07 14:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!