我已经用C#写了一个俄罗斯方块游戏。我正在使用下面的代码在picturebox中绘制形状。
graphics g
g = pictureBox1.CreateGraphics();我正在绘制形状的下一步,通过使用计时器代码每秒进行清理。我的问题是:它工作缓慢,picturebox.refresh()命令和扭曲的display.What我该怎么办?
我在function.But下试过了,不起作用。我也有同样的问题。
public void EnableDoubleBuffering()
{
// Set the value of the double-buffering style bits to true.
this.SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint,
true);
this.UpdateStyles();
}发布于 2011-07-30 22:56:57
在你的绘图方式中,你正在使用GDI来绘制图片(基本上是使用软件来渲染游戏图形)。与普通游戏相比,这将是缓慢的,因为大多数游戏使用DirectX或OpenGL在硬件级别上非常快地将数据传输到视频卡。我建议学习Microsoft XNA并用XNA编写您的游戏,XNA基于C#并提供了一个很好的内容管道来做您想要做的事情。
发布于 2012-12-07 17:08:44
我也有同样的问题。解决方案是,您必须在另一个位图中绘制新图片,完成后,在picturebox中绘制它。
https://stackoverflow.com/questions/6883260
复制相似问题