我正在开发一个具有mouse_move事件的空间入侵游戏。它的作品,但当我移动鼠标,一切都变慢了。侵略者和其他东西停止移动,直到你停止移动鼠标鼠标移动减慢游戏速度
有人可以请解释为什么和可以做什么来解决这个问题。
感谢名单
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Cursor.Dispose();
objsp.gsPos = new Point(MousePosition.X/2 - 10, MousePosition.Y/2 - 15);
UpdatePosition(objsp.gsPos.X, objsp.gsPos.Y, objsp.gsImage);
}
private void UpdatePosition(int dx, int dy, Image img)
{
Point newPos = new Point(objsp.gsPos.X + dx, objsp.gsPos.Y + dy);
//dont go out of window boundary
newPos.X = Math.Max(0, Math.Min(ClientSize.Width - img.Width, newPos.X));
newPos.Y = Math.Max(0, Math.Min(ClientSize.Height - img.Height, newPos.Y));
if (newPos != objsp.gsPos)
{
objsp.gsPos = newPos;
Invalidate();
}
}
在'mouse_move'事件处理程序中发布代码。 – Nasreddine
发布UpdatePosition的来源请 – Boaz
这就是方法。没有别的。它只是被称为鼠标移动事件 –