每当移动完成时,必须有一种方法可以被程序检测到。看起来你希望在发生这种情况时将move_req设置为零,但我看不出会导致什么原因。机器如何通知程序已完成移动?
第二点是当你有一个在检查变量变化时等待的循环时,它会导致CPU峰值。你可以用一些东西在循环中暂停一下 System.Threading.Thread.Sleep(100) 其中100是暂停的毫秒数。
System.Threading.Thread.Sleep(100)