TNP資料室 @ ウィキ

キー入力でさまざまな画面に進む

最終更新:

kokeiro

- view
だれでも歓迎! 編集

キー入力でさまざまな画面に進む

 タイトル画面、ゲーム画面、クリア画面、リタイア画面をキー入力で切り替えられるようにしました。やっていることは全てタイトル画面からゲーム画面に切り替えることと一緒です。
 特に説明は要りませんね。

main.cpp

...
void Title();								// タイトルの関数
void Game();								// ゲームの関数
void Clear();								// クリアの関数
void Retire();								// リタイアの関数

int GameState;								// ゲームの状態を格納する変数

int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
...
	while( ProcessMessage()==0 && GetKeyInput(Key)==0 && Key[KEY_INPUT_ESCAPE]==0 && ClearDrawScreen() == 0){
		switch( GameState ){
			case 0:
				Title();							// タイトルの関数
				break;
			case 1:
				Game();								// ゲームの関数
				break;
			case 2:
				Clear();							// クリアの関数
				break;
			case 3:
				Retire();							// リタイアの関数
				break;
		}
		DrawFormatString(10,10,white,"GameState:%d",GameState);
		ScreenFlip();
	}
...
	return 0 ;
}

// キーの押下時間を調べる関数
...
// タイトルの関数
...

// ゲームの関数
// 戻り値 なし  引数 なし
void Game(){
	DrawString(100,200,"ゲーム画面です",white);
	DrawString(100,220,"Zでクリア画面",white);
	DrawString(100,240,"Xでリタイア",white);
	if( Key[KEY_INPUT_Z] == 1 )			// Zキーが押されたらゲームを始める
		GameState = 2;
	if( Key[KEY_INPUT_X] == 1 )			// Zキーが押されたらゲームを始める
		GameState = 3;
}

// クリアの関数
// 戻り値 なし  引数 なし
void Clear(){
	DrawString(200,100,"クリア画面です",white);
	DrawString(200,140,"Zでタイトル",white);
	if( Key[KEY_INPUT_Z] == 1 )			// Zキーが押されたらゲームを始める
		GameState = 0;
}
// リタイアの関数
// 戻り値 なし  引数 なし
void Retire(){
	DrawString(200,200,"リタイア画面です",white);
	DrawString(200,240,"Zでタイトル",white);
	if( Key[KEY_INPUT_Z] == 1 )			// Zキーが押されたらゲームを始める
		GameState = 0;
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー