測試機型:Nokia 7210、3100。發現這些機型一次只能處理一個按鍵事件。若一個鍵按下未放開,其他鍵的 keyPressed 事件不會觸發。
if 判斷每個方向,按住 Up 再按 Left,精靈不會改變方向(因 Left 的 keyPressed 未觸發)。keyPressed 事件,精靈轉向左移。推測手機維護一個按鍵狀態隊列。WTK 預設模擬器支援多鍵同時按下,若用四個並列 if 可實現斜向移動;若用 if-else 則順序決定優先權(先判 Up 則 Up 優先)。
getKeyStates() 輪詢當前按鍵狀態,而非依賴事件回呼。