2010-10-21 87 views
0

我正在用C++構建一些簡單的openGL遊戲。 我按住某個鍵時有一些動作。 我希望它是連續的,但我的問題是,在按下鍵(在鍵盤上)後的第一秒,系統將其稱爲一次單擊,我的遊戲對象一次移動,並在一秒鐘之後它統計持續移動。 一些想法來解決這個問題? 謝謝。C++ openGL連續按下按鈕

+0

OpenGL根本沒有輸入處理。它由您的GL庫或其他方式製作而成。 – alxx 2010-10-21 19:59:37

回答

2

你應該有一個全局布爾值(或者更好的結構,包含所有不同鍵的布爾值),在初始鍵盤上設置爲true,在鍵盤上設置爲false。然後,當你做你的動作時,你檢查這個布爾。

+0

我想補充一下,如果你將關鍵代碼作爲字節獲取,你可能會在char [256]中存儲每個關鍵字的狀態。或者在char [32]中,如果你很聰明:) – alxx 2010-10-22 05:53:19

0

使用glutKeyboardUpFuncglutSpecialUpFunc如果它是一個特殊的鍵。兩者都會告訴你用戶什麼時候釋放了密鑰。