トップページ > 過去ログ > 記事閲覧
床と壁の当たり判定の変更
名前:モアイ 日時: 2012/01/17 21:45

ドアの前で↑のキーを押すとマップ画像が変更するようにしました。壁と床の当たり判定もマップによって変更したいのですが、うまくいきません。 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) ); }

Page: 1 |

Re: 床と壁の当たり判定の変更 ( No.1 )
名前:いっち 日時:2012/01/18 00:27

どのようにうまくいかないのでしょうか? ファイルは読めているのでしょうか?
Re: 床と壁の当たり判定の変更 ( No.2 )
名前:モアイ 日時:2012/01/18 20:18

何度もすみません。ちゃんとファイルを上げます。 マップ画像を変更してもなぜか床と壁の当たり判定がかわりません。 ttp://w w w1.axfc.net/uploader/N/so/145259 パスワードはmaiです。
Re: 床と壁の当たり判定の変更 ( No.3 )
名前:いっち 日時:2012/01/18 22:15

動いているっぽくしてみました。 > h t t p : / / w w w1.axfc.net/uploader/Sc/so/310736.zip&key=dxlib
Re: 床と壁の当たり判定の変更 ( No.4 )
名前:モアイ(解決) 日時:2012/01/19 10:40

とても参考になりました。 何度もありがとうございます。

Page: 1 |