[目次へ][前へ][次へ][表紙へ]
 シューティングゲームを作ろう その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乗……です。


[目次へ][前へ][次へ][表紙へ] inserted by FC2 system