回答
其實,你可以實現。每個鍵下來和鍵都有它自己的事件觸發,所以你確切地知道什麼時候鍵和什麼鍵被按下。
例如:當向下箭頭的按鍵按下事件被觸發,你開始移動右槳下來。當X鍵的按鍵事件被觸發時,開始向下移動左邊的槳。當X鍵的按鍵事件被觸發時,您停止移動左邊的按鍵,並且當向下箭頭的按鍵事件被觸發時,您停止移動右邊的按鍵。 =>你可以獨立控制它們。
您可以將所有這些包裝在某種實用工具中,以使解決方案更加清潔。
SWT不具有壓在一起的一個概念(除非你是在談論標準修改鍵,如SHIFT,ALT等)。你可以做的是分別抓住向上箭頭和'q'鍵事件。如果計時是一個問題,那麼你可以比較兩個時間戳(KeyEvent中有一個時間字段),並確定你的定義是什麼(50毫秒?你可能想要試驗)。
如果Q正在使用像修改,那麼這是比較容易,因爲按下Q鍵時,你可以設置一個標誌,當向上箭頭推你可以檢查Q標誌是否設置。這比擔心時間要容易得多。當鑰匙被釋放時,當然不要忘記清除q標誌。
rancidfishbreath的解決方案將工作。對於一個很好的例子,看到http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet25.java
我想知道爲什麼我的解決方案無法正常工作。 – rancidfishbreath 2010-09-08 17:55:11
謝謝您的回答! 我只是覺得我可以很快地開發出一個小型乒乓球遊戲,但是我並沒有發現鑰匙綁定非常難以處理!主要障礙是必須以獨立的方式移動兩個槳(目前,按鍵會干擾對手的移動,反之亦然)。
- 1. 檢查某個鍵是否被按下?
- 2. 如何檢查一次是否有多個按鍵被按下?
- 3. Emu8086檢查按鍵是否按下
- 4. 檢查DELETE鍵是否被按下?
- 5. xlib XNextEvent檢查鍵是否被按下
- 6. 檢查是否按下了切換鍵
- 7. 同時按下兩個鍵時檢測
- 8. 當按下一個鍵時,多次按下不同的按鍵?
- 9. 檢查一個按鍵是否被按下兩次
- 10. C#檢查是否有多個鍵被按下(全局鍵盤掛鉤)
- 11. 檢測多個同時的按鍵
- 12. 使用OpenGL/GLUT如何檢測兩個按鍵是否同時按下?
- 13. 檢查運行功能時是否按下換檔鍵?
- 14. 檢查空格鍵是否被按下,並且鼠標與jQuery同時移動?
- 15. 檢查按下後是否釋放了一個鍵C#XNA
- 16. 如何檢查一個鍵是否在Linux中被按下?
- 17. 如何檢查批次中是否按下了某個鍵?
- 18. 如何檢查是否一個類型的鍵盤鍵是按下與CTRL
- 19. 如何無休止地檢查按鍵是否被按下?
- 20. 檢測BlackBerry按鍵球/按鍵是否被按下?
- 21. 加載新頁面時檢查按鍵是否已被按下(JavaScript)
- 22. SWT:是否可以同時移動多個小部件?
- 23. 檢查方向鍵何時被按下?
- 24. 檢查是否按住鍵,wxpython?
- 25. ASM:檢查是否沒有按鍵
- 26. 同時按下按鍵
- 27. SWT CTabFolder檢查CTAB是否存在
- 28. elisp如何檢查是否按下了Shift鍵
- 29. C#:檢查在控制檯中是否按下了任何鍵
- 30. UITextField如何檢查是否按下刪除鍵
我會嘗試一下,也許我會把它上傳到bitbucket或什麼 - 我會讓你現在在這裏。 – phineas 2010-09-09 19:48:40