厨房なおいらにプログラム教えるスレat GAMEDEV厨房なおいらにプログラム教えるスレ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト262:社内ニート ◆OpY5DDvqSw 11/02/22 00:27:20.13 s/YhWNAt.net 追記、 戦車を処理するときはmap[y][x]を使っています。 263:社内ニート ◆OpY5DDvqSw 11/02/22 00:38:03.69 s/YhWNAt.net 今すぐ手っ取り早くできそうなのは>>256のいうとおり、 画面表示とmapの配列を同じように行うのが一番簡単な方法なんですけどねぇ。 できれば、 アルファチャンネル用の白黒画像と、 map[y][x]を連動させるって言うか、 白黒画像そのものがmap[y][x]、 みたいなやり方にしたい。 ゲームの土台になる部分は、ちゃんとしたものにしたいんです。 タンクの画像とか演出は多少陳腐でもでもかまわないけれど。 264:名前は開発中のものです。 11/02/22 00:56:35.31 vXGD/Huf.net 配列と画面を円でえぐる処理は、こんな方法はどうでしょうか? void FillCircle(int Xc,int Yc,int R){ for(int x=-R; x<=R; x++) for(int y=-R;y<=R; y++) if(x*x+y*y<=R*R){ if(Xc+x>=0 && Xc+x<2400 && Yc+y>=0 && Yc<640){ map[Yc+y][Xc+x]= 0; // 地面判定用配列の加工 SetPixel(Xc+x,Yc+y,背景色); // 画面の(Xc+x, Yc+y)のピクセルを抜く処理 } } } SetPixelと書いた部分は適宜実装する必要がありますが、 配列の0/1と画面のピクセル状態がずれる心配はないと思います。 ところで、そもそも背景に地面を重ねる処理にαチャネルを使っているなら、 地面の画像は[640][2400][4] (R,G,B,A/pixel)の配列じゃないでしょうか? map[y][x]の代わりに、groundimage[y][x][3]を参照する方法は使えませんか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch