では、ChangeGameState関数を用いて画面切り替えをやってみましょう。
さまざまな関数を書き変えます。
title.cpp
...
void ProcessTitle(){
int Color = GetColor(255,255,255);
DrawString(100,100,"タイトル画面です。",Color);
DrawString(100,120,"Zでゲームスタート。",Color);
if( Key[KEY_INPUT_Z] == 1 ) // Zが押されたら
ChangeGameState( GS_MAIN ); // メインゲームに切り替える
}
...
gameMain.cpp
...
void ProcessGameMain(){
int Color = GetColor(255,128,255);
DrawString(100,100,"メインゲーム画面です",Color);
DrawString(100,120,"Zでゲームクリア",Color);
DrawString(100,140,"Xでゲームオーバー",Color);
if( Key[KEY_INPUT_Z] == 1 )
ChangeGameState( GS_CLAR );
if( Key[KEY_INPUT_X] == 1 )
ChangeGameState( GS_OVER );
}
...
gameClear.cpp
...
void ProcessGameClear(){
int Color = GetColor(255,255,255);
DrawString(100,100,"ゲームクリア画面です。",Color);
DrawString(100,120,"Zでタイトルに戻る。",Color);
if( Key[KEY_INPUT_Z] == 1 )
ChangeGameState( GS_TITLE );
}
...
gameOver.cpp
...
void ProcessGameOver(){
int Color = GetColor(255,255,255);
DrawString(100,100,"ゲームオーバー画面です。",Color);
DrawString(100,120,"Zでタイトルに戻る。",Color);
if( Key[KEY_INPUT_Z] == 1 )
ChangeGameState( GS_TITLE );
}
...
それぞれの画面で、描画されているキーを押すことで次の画面に進むようになりました。
特に解説も必要ありませんね。
特に解説も必要ありませんね。