私は単純なゲーム - ヘビを書いています。背景と私のヘビを入れたいと思います。最良の方法は、2 つの pictureBox を使用することだと思います (1 つは背景付きで、もう 1 つは蛇が透明になっています)。
これは良い方法ですか?そして、いくつかの小さな画像(ヘビのセグメント)を1つの画像ボックスの異なる場所に配置するにはどうすればよいですか(画像から画像ボックスにピクセル(1つずつ)をコピーするか、すべての画像を正しい場所に配置する最速の方法があります)?背景(親)と別の透明(子)を持つpictureBoxがあります。
結果は次のようになります。
私はそのようなものを作成しました (@dotTutorials のおかげで) が、私のヘビのセグメントは元の画像よりも少し大きく、クッキーは小さくなっています。どこが問題になる可能性がありますか?
描画コード:
public Bitmap PrinPlayground()
{
char[,] tempPitch = play.getPitch();
Graphics g = pb2.CreateGraphics();
Bitmap bitmap = new Bitmap(512, 512);
Graphics BBG = Graphics.FromImage(bitmap);
Bitmap head = CookieSnake.Properties.Resources.head;
Bitmap body01 = CookieSnake.Properties.Resources.body01;
Bitmap tail = CookieSnake.Properties.Resources.tail;
Bitmap cookie = CookieSnake.Properties.Resources.cookie;
BBG.Clear(Color.Transparent);
for (int i = 0; i < 16; i++)
for (int j = 0; j < 16; j++)
{
if (tempPitch[i, j] == 'H')
{
BBG.DrawImage(head, new Point(32*j, 32*i));
}
else if (tempPitch[i, j] == 'B')
{
BBG.DrawImage(body01, new Point(32*j, 32*i));
}
else if (tempPitch[i, j] == 'T')
{
BBG.DrawImage(tail, new Point(32 * j, 32 * i));
}
else if (tempPitch[i, j] == 'C')
{
BBG.DrawImage(cookie, new Point(32 * j, 32 * i));
}
}
g.DrawImage(bitmap, new Point(0,0));
return bitmap;
}
結果: