進階篇
Q: 為什麼切換移動方向會卡卡的?
A: 因為Form1_KeyDown的事件處理,一次只能處理一個按鍵,
所以要解決這個問題,必須自己監聽按鍵。
以最基本的畫面更新速度FPS 30.0來說,這代表的是
每秒有30張禎數在跑(Frame Per Second),
也就是每秒處理30次畫面動作。
所以需要產一個Thread,每秒工作30次。
(可以試試把 FPS_PAGE 改成10看看)
而在C#中,若產生控制項的Thread與進行操作的Thread不同,會發生錯誤。
所以自訂一個控制項的委派方法去進行控制項操作(InvokeIfRequired)
另外在這個程式中,會用到兩個數學式
1. 求兩點距離
2. 單位移動位置