我正在開發一個具有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
這就是方法。沒有別的。它只是被稱爲鼠標移動事件 –