すみません、ブロックデザインをマップ毎に変更する件を失念していました m(_ _;m
DrawMap関数のこちらの部分ですが
switch (g_mapdata[y][x + sc])
{
//カービィマップ1のブロック読み込み
if (MAP_KR == g_stagedata.changeflag){
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[0], TRUE);
break;
〜〜 中略 〜〜
case '9':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[8], TRUE);
break;
default:
break;
}
//カービィマップ2のブロック読み込み
switch (g_mapdata[y][x + sc]){
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k2_block[0], TRUE);
break;
〜〜 中略 〜〜
case 'F':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k2_block[14], TRUE);
break;
default:
break;
}
//モンスター検出
if (g_mapdata[y][x + sc] > 'Z') SetEnemy(x + sc, y); //Z(マップのブロック)以外の場合
}
正しくはこんな感じになります、ステージ毎に if文で分岐します( switch文でも OK )
if (MAP_KRIBY == g_stagedata.changeflag){
//カービィマップ1のブロック読み込み
switch (g_mapdata[y][x + sc])
{
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[0], TRUE);
break;
〜〜 中略 〜〜
case '9':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[8], TRUE);
break;
default:
break;
}
} else if (MAP_KRIBY2 == g_stagedata.changeflag){
//カービィマップ2のブロック読み込み
switch (g_mapdata[y][x + sc]){
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k2_block[0], TRUE);
break;
〜〜 中略 〜〜
case 'F':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k2_block[14], TRUE);
break;
default:
break;
}
} else {
//デフォルトではカービィマップ1を使用
switch (g_mapdata[y][x + sc])
{
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[0], TRUE);
break;
〜〜 中略 〜〜
case '9':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[8], TRUE);
break;
default:
break;
}
}
対応するブロックデザインを増やしたい場合は
if (MAP_KRIBY == g_stagedata.changeflag){
//カービィマップ1のブロック読み込み
switch (g_mapdata[y][x + sc])
{
case '1':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[0], TRUE);
break;
〜〜 中略 〜〜
case '9':
DrawRotaGraph2(x * IMG_CHIPSIZE - shiftx, y * IMG_CHIPSIZE,
0, 0, 0.8, 0, g_imghandles.k_block[8], TRUE);
break;
default:
break;
}
} else if ( 〜〜〜次のマップ用の条件式〜〜〜 ){
この括りの部分を増やして、MAP_KRIBY と k_block の部分を対応するマップ用のものに書き換えてください