また、お世話になりますm(_ _)m
今、メニュー画面からすぐにボスの画面に切り替わるようにしており、ボスのライフが0になった時、ゲームクリアを表示し、メニュー画面に戻るようにしています。
if(type == ET_DEDEDE){
if(g_stagedata.enemies[i].life == 0){
g_stagedata.menuchangeflagdedede = 1;
g_gamestate = GAME_CLEAR;
g_timerstart = g_lasttime; //タイマーセット
}
}
if(type == ET_RIDLEY){
if(g_stagedata.enemies[i].life == 0){
g_stagedata.menuchangeflagmet = 2;
g_gamestate = GAME_CLEAR;
g_timerstart = g_lasttime; //タイマーセット
}
}
これが今デデデ大王とリドリーというボスキャラなんですけど、
リドリーを倒したとき、デデデに切り替えると
デデデのマップブロックがメトロイドのブロックに代わってしまいます。
if(g_stagedata.menuchangeflagdedede == 1){
DrawGraph(0, 0, g_imghandles.menu2, FALSE);
if(CheckHitKey(KEY_INPUT_RIGHT)!=0){
DrawGraph(577, 221, g_imghandles.selectmetroid, FALSE);
int key1 = GetJoypadInputState(DX_INPUT_KEY_PAD1);
if (IsAKeyTrigger(key1) == TRUE) {
g_stagedata.stagebunki = 1;
StageBunki();
g_gamestate = GAME_MAIN;
}
}
}
if(g_stagedata.menuchangeflagmet == 2){
DrawGraph(0, 0, g_imghandles.menu3, FALSE);
if(CheckHitKey(KEY_INPUT_LEFT)!=0){
DrawGraph(77, 220, g_imghandles.selectdedede, FALSE);
int key2 = GetJoypadInputState(DX_INPUT_KEY_PAD1);
if (IsAKeyTrigger(key2) == TRUE) {
g_stagedata.stagebunki = 2;
StageBunki();
g_gamestate = GAME_MAIN;
}
}
}
切り替えは上のコードでしているのですが、なぜ上書きしてしまうのか解決できてない状況です。