日期:2014-05-17  浏览次数:20863 次

【新人求助】这个程序实现了我需要的功能,但是知道效率和方法..
首先说明一下,我是要做一个矩形间的碰撞检测程序,现在是矩形移动的时候的问题。画一个矩形出来让其自己移动,现在是可以实现的,但是绝得效率和方法有实质性的问题,请大家帮我指出一下,循环里定义东西不对 下面是代码
void move()
{
Thread.Sleep(200);
Point mvpt = new Point(51, 51);
Point mvpt2 = new Point(60,150);
for (int i = 51; i <= 70; i++)
{
Graphics gh = panel1.CreateGraphics();
mvpt.X = i;
mvpt2.X = i*2;
gh.DrawRectangle(new Pen(Color.Red), new Rectangle(mvpt, new Size(50,50)));
gh.DrawRectangle(new Pen(Color.PaleGreen), new Rectangle(mvpt2, new Size(50, 50)));
Thread.Sleep(50);
gh.Dispose();
if (i < 70)
{
panel1.Refresh();
}
}
}
C#?图形移动处理

------解决方案--------------------
你后台数据的处理和图像的绘制应该区分开来,你在这里不停Refresh Panel没问题就见鬼了