ドアの前で↑のキーを押すとマップ画像が変更するようにしました。壁と床の当たり判定もマップによって変更したいのですが、うまくいきません。
stage_tempの状態で当たり判定を変えるようににしています。
#include "myhelper.h"
#include "mymain.h"
int img_ch[9];
int back;
int wall;
int wall2;
//地面を表す線
int g_usedline_num = 0; //実際使用している線の数
Line2D g_landlines[MAXLANDLINE];
//マップ用のラインデータを読み込む関数
int loadmap(char *pfname){
int f; //ファイルハンドル
char buf[1024]; //テキスト一時読み込み一時バッファ
f = FileRead_open(pfname);
if (f==0) return -1; //読み込みエラー
g_usedline_num = 0;
while( FileRead_eof(f) == 0 ) //終端チェック
{
// 一行読み込み
FileRead_gets( buf, 1023, f ) ;
int sx,sy,ex,ey;
sscanf_s(buf, "%d,%d,%d,%d", &sx, &sy, &ex, &ey);
Line2D l = {
{(float)sx, (float)sy}, {(float)ex, (float)ey},
0, {0,0}};
SetLine2DKatamuki(&l);
g_landlines[g_usedline_num] = l;
g_usedline_num++;
}
// ファイルを閉じる
FileRead_close( f ) ;
return 0;
}
void load(){
//画像ファイルの読み込み
LoadDivGraph("dat/img/nazu.bmp",9,3,3,72,100,img_ch);
back = LoadGraph("media\\back01.png",0);
wall = LoadGraph("dat/img/map/stage1.bmp",0);
wall2 = LoadGraph("dat/img/map/stage1_ura.bmp",0);
if(stage_temp == 0){
//マップデータの読み込み
loadmap("dat/img/map/stage1.txt");
}
if(stage_temp == 1){
loadmap("dat/img/map/stage1_ura.txt");
}
//画面サイズ
Rect2D gf = { {-64,-64}, {640+64,480+64}, 768, 608};
memcpy( &g_framerect, &gf, sizeof(Rect2D) );
//現在の表示原点
g_current_field_pos.x = 0;
g_current_field_pos.y = 0;
//ステージサイズ
Rect2D gs = { {0,0}, {879,479}, 880,480} ;
memcpy( &g_stagesize, &gs, sizeof(Rect2D) );
}