【发布时间】:2014-03-08 08:03:28
【问题描述】:
我正在创建一个使用图块系统的 2D 游戏引擎。在绘制这些图块时,您可以看到每个图块都单独绘制在屏幕上。绘图速度非常快,但您仍然可以看到它。
当我告诉图形绘制一些东西时,我不希望它立即更新,因为它还有其他东西要在屏幕上绘制,显然效率很低。我希望它仍然“绘制”我告诉它的内容,但实际上在一次大更新中将其全部显示出来......或者那会做完全相同的事情吗?反正不可能。
//Creating graphics
public static Form GameForm; //Assigned by the form
public static Graphics GFX;
public static void Init()
{
GFX = GameForm.CreateGraphics();
GameForm.BackColor = Color.Black;
// ----
//Drawing the tiles
while (X != 480)
{
while (Y != 352)
{
Tiles.Add(new Tile(X, Y, Num, 0));
GFX.DrawImage(LoadedImages[4], new Point(X, Y));
GFX.DrawRectangle(new Pen(Color.Red), X, Y, 32, 32);
GFX.DrawString(Num.ToString(), new Font("System", 10.0F),
new SolidBrush(Color.Black),
new PointF((float)X, (float)Y));
Y = Y + 32;
Num++;
}
X = X + 32;
Y = 0;
}
//UPDATE NOW!
【问题讨论】:
标签: c# winforms graphics drawing tile