簡體   English   中英

如何判斷按下哪個SHIFT鍵?

[英]How to tell which SHIFT key was pressed?

在我的游戲中,我希望能夠使用右移和左移鍵來實現不同的功能。 在Java(或其他語言)中,有沒有辦法區分這兩者?

KeyEvent類只有VK_SHIFT,它對應左右Shift鍵。 ControlAltEnter等相同

我主要擔心的是有人可能會用兩根手指同時快速按下兩個按鍵,從而獲得不公平的優勢。 我應該關注這件事嗎?

我找到了一個包含Java WebStart示例和源代碼的Java教程。 看起來贏家是KeyEvent.getKeyLocation()

  • KeyEvent.KEY_LOCATION_STANDARD
  • KeyEvent.KEY_LOCATION_LEFT
  • KeyEvent.KEY_LOCATION_RIGHT
  • KeyEvent.KEY_LOCATION_NUMPAD
  • KeyEvent.KEY_LOCATION_UNKNOWN

參考文獻:

關鍵監聽器演示和源代碼

KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation) 

方法:

 int    getKeyLocation()

返回發起此鍵事件的鍵的位置。

public static final int KEY_LOCATION_LEFT

A constant indicating that the key pressed or released is in the left key location (there is more than one possible location for this key). Example: the left shift key.

您還可以查看jinput,這是一個可以直接訪問所有輸入設備的庫,為您提供更多控制。 如果你決定在你的游戲中使用LWJGL,它已經帶有jinput。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM