GetKeyState

GetKeyState key recv_var

リアルタイムキースキャンを行います。keyで指定したキーが押されていればrecv_varに0以外がセットされます。押されていなければ0です。keyには、英数字を指定します。フルキーボードの英数字部分が、スキャンできます。


//一定時間ごとに処理するイベントハンドラのなかで使用してください。
BeginFunc FRAME
Var state
GetKeyState a state   //aキーの状態がstateに入る
//stateの状態にあわせて処理するコード
EndFunc

※一般的なゲームでは、キーが押されているかを瞬間的に読み取り、その状態にあわせて次の行動を計算します。
Windowsの一般的なアプリケーションでは、キーを押したとき、またはキーが上がったときにイベントが発生して、それにあわせてコードを実行します。キーが押されてから、実際にコードが実行されるまでタイムラグがあるため、ゲーム向きではありません。
リアルタイムキースキャンは、命令を実行した時点のキーの状態を返します。タイムラグは発生しません。
※「ボタンを押したらランプが点灯」というような操作は、リアルタイムキースキャンではなくキーイベントで処理すると簡単です。リアルタイムキースキャンで処理する場合は、押し下げまたは押し上げが行われたかをフラグ管理する必要があります。

カテゴリー: Scriptシステム パーマリンク