2011-06-17 30 views
3

我正在Ocaml編寫一個簡單的遊戲,使用其模塊Graphics來執行繪圖和交互。我遇到了排隊等待全部按下以後使用的問題,所以當我按住鍵一會兒就有很多「按」被放入內存。發佈後,仍然執行該操作。Ocaml,模塊圖形 - 排隊按鍵

有沒有什麼辦法從這個隊列中刪除條目,或者只是(甚至更好)不排隊呢?

回答

5

這可能不是最美麗的解決方案,但您可以使用key_pressed。 如果按鍵可用,此函數將返回true。 因此,一旦您閱讀了read_key的按鍵,您可以撥打read_key來刷新隊列,直到key_pressed爲假並忽略結果。

(* flush_kp : unit -> unit *) 
let flush_kp() = while key_pressed() do 
         let c = read_key() 
         in() 
        done ;; 

希望這可以幫助。

+0

它應該是足夠的,thx :) – mechu