キーが押されているかどうかの判断は、ゲームループが回るたびに行われている。このままではゲームを作る過程において、さまざまな弊害が出てくる。
この章では、キー入力によるさまざまな問題を解決する基本的な手段を学ぶ。
キー入力によるさまざまな動作を試すため、第7章用プログラムを用意した。ダウンロードし、以下の手順でプロジェクトを作成する。
- 解凍して現れたファイルを全て任意のドライブの
DDraw07フォルダに格納する。- Visual C++を開き、新規作成でWin32Applicationを作成する。プロジェクト名を「
DDraw07」に、フォルダは先ほど作成したフォルダを指定する。- 「プロジェクト」→「プロジェクトへ追加」→「ファイル」を選択し、DDraw07フォルダ内の
全てのファイルを追加する。
(今回はリソースも作成済みなので、リソースの作成は必要ない)- プロジェクトの設定を変更し、3つのライブラリ「ddraw.lib」「dxguid.lib」「winmm.lib」をリンクする。
![]()
- ビルドを行い、プログラムが正常に動くことを確認する。
6章のプログラムとの違い
- スタート画面にメニューと、メニューを選択するカーソルを表示。ただしカーソルはまだ動かない。
- スタート処理を機能別に関数化した。
- ゲーム画面では、スペースキーを押すと自キャラから弾が発射される。弾は画面上に一発しか撃てない。ただしゲーム開始時、スペースキーを検出してしまうため、必ず弾が発射されてしまう。
- キャラクタデータに「LIFE」を追加。弾はLIFEが0のとき発射できる。
- 移動処理のウェイトをはずした。
- スタート画像、キャラクタ画像データを微妙に変更。