厨房なおいらにプログラム教えるスレ
■ このスレッドは過去ログ倉庫に格納されています
0260名前は開発中のものです。
2011/02/22(火) 00:56:35.31ID:vXGD/Hufvoid 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]を参照する方法は使えませんか?
■ このスレッドは過去ログ倉庫に格納されています