楼主:
VVll (李奥纳多皮卡丘)
2014-06-20 12:53:07进阶篇
Q: 为什么切换移动方向会卡卡的?
A: 因为Form1_KeyDown的事件处理,一次只能处理一个按键,
所以要解决这个问题,必须自己监听按键。
以最基本的画面更新速度FPS 30.0来说,这代表的是
每秒有30张祯数在跑(Frame Per Second),
也就是每秒处理30次画面动作。
所以需要产一个Thread,每秒工作30次。
(可以试试把 FPS_PAGE 改成10看看)
而在C#中,若产生控件的Thread与进行操作的Thread不同,会发生错误。
所以自订一个控件的委派方法去进行控件操作(InvokeIfRequired)
另外在这个程式中,会用到两个数学式
1. 求两点距离
2. 单位移动位置
http://i.imgur.com/uYlbWHW.png