シューティングゲームを作ろう その1 |
本講座の最後として、簡単なシューティングゲームを作ります。
ルール
手順
1.サブルーチンを作る |
;画面のクリア *Clear_Screen color 0, 0, 0 boxf 0, 0, 639, 479 return ;メッセージの表示 *Write_Message ;msx,msy : 表示する座標 ;message : メッセージの内容 pos msx, msy color 255, 255, 255 font "MS 明朝", 16 mes message return ;指定した絵を描画 *Graphic_Draw ;gdx, gdy : 描画する座標 ;wid : ウィンドウID ;div_no : 分割画像No. pos gdx, gdy gmode 2 celput wid, div_no return ;キー、ジョイパッドの入力 *Input_Key pre_zkey = zkey pre_upkey = upkey pre_downkey = downkey zkey = 0 upkey = 0 downkey = 0 leftkey = 0 rightkey = 0 getkey key, 90 if key == 1 { zkey = 1 } getkey key, 37 if key == 1 { leftkey = 1 } getkey key, 38 if key == 1 { upkey = 1 } getkey key, 39 if key == 1 { rightkey = 1 } getkey key, 40 if key == 1 { downkey = 1 } getkey esckey, 27 if n_joy > 0 { digetjoystate joy, 0 if (joy & 16) != 0 { zkey = 1 } if (joy & 1) != 0 { upkey = 1 } if (joy & 2) != 0 { downkey = 1 } if (joy & 4) != 0 { leftkey = 1 } if (joy & 8) != 0 { rightkey = 1 } } return
今回新たに「キー、ジョイパッドの入力」サブルーチンを追加しています。「ジョイパッドの入力」で説明したものを矢印キーの上(upkey)、下(downkey)、左(leftkey)、右(rightkey)、ジョイパッドの十字キー(矢印キーと同様)にも対応しただけです。ESCキーでゲームを終了できるように、ESCキーの状態(esckey)もこのサブルーチンで取得するようにしています。
pre_zkey = zkey pre_upkey = upkey pre_downkey = downkey
Zキーの他に上キー、下キーもトリガータイプの入力にも対応するようにしています。例えばタイトル画面にSTART、OPTION、RANKING、EXITというメニュー項目があったとすると、押しっぱなしで反応してしまうと、下を押すとあっという間に一番下の項目にカーソルが行ってしまいます。下キーを1回押すたびに一つ下の項目に行くようにすべきです。
キーと対応するキーコードです。
キー | キーコード |
Zキー | 90 |
←キー | 37 |
↑キー | 38 |
→キー | 39 |
↓キー | 40 |
ESCキー | 27 |
ジョイパッドのボタンと対応するビットを再掲します。
ボタン | 対応するビット |
上 | 第0ビット |
下 | 第1ビット |
左 | 第2ビット |
右 | 第3ビット |
ボタン1 | 第4ビット |
1は1 * 2の0乗、2は1 * 2の1乗、4は1 * 2の2乗……です。