[HMC]年間5250円で独自ドメイン付属、ウィルスチェックありのレンタルサーバ!
Last update : 1999/12/13
ゲーム制作基礎 第1回
キー入力処理
サンプルコードのダウンロード
  では、まずサンプルコードをダウンロードし、解凍して下さい。 私はVisual C++6.0でコンパイルしているので、をお持ちの方は Visual C++でプロジェクトファイルを開いて下さい(「game_01.dsw」をダブルクリックすれば開けます)。 圧縮ファイルに含まれる「game_01.exe」をダブルクリックし、実行してみて下さい。どうでしょう?画面が切り替わり、フルスクリーン化すると思います。 そして、何かキーを押すと、そのキーコードが画面に表示されると思います。 というわけで今回は、キー入力について解説したいと思います。
ウィンドウメッセージ
  前にDirectDraw講座でも触れましたが、Windows上ではアプリケーションと Windows(OS)がコミュニケーションをとるために、ウィンドウメッセージというのを やりくりします。
  例えばキーが押されたらWindowsがアプリケーションに対して 「キーが押されたぞ」というメッセージを送信します。そしたらアプリ側はメッセージループ中、 そのメッセージを受信し、ウィンドウプロシージャと呼ばれる関数を呼び出します(ウィンドウプロシージャは自分で制作する事になります)。

ではサンプルコードを見ていきます。
  メッセージの種類は「UINT iMessage」に格納されています。ですから、switch文で分岐してやります。 キーが押された時の値は「WM_KEYDOWN」(マクロ)です。 そして、wParamに、押されたキーのキーコードが格納されています。 このキーコードについては、資料不足で(爆)どの値がどのキーかは判りません。ですが、 キーが押されたら、そのキーコードを画面に表示する事で、キーのキーコードが判るというわけです。