所以我有一些奇怪的情況與類型不匹配。一般的想法是,我正在創建一個遊戲,其中玩家將能夠定義他們自己的keybinds移動,按鈕等。類型不匹配:無法從KeyCode轉換爲KeyCode
我已經開始了一個標準的關鍵事件監聽器,然後餵給一個密鑰處理器
import javafx.event.EventHandler;
import javafx.scene.input.KeyEvent;
// Key event single key
scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
public void handle(KeyEvent key) {
btnHand.keyPressHandler(key.getCode());
}
});
import javafx.scene.input.KeyCode;
public void keyPressHandler(KeyCode keyCode) {
switch (keyCode) {
case GameOptions.getMoveNorth(): //method call break;
case GameOptions.getMoveSouth(): //method call break;
case GameOptions.getMoveWest(): //method call break;
case GameOptions.getMoveEast(): //method call break;
default: System.out.println("key : " + keyCode + " was pressed, yet has no handler");
}
}
我計劃設定的按鍵存儲其中牽着我的鍵綁定本身和使用干將拉的關鍵信息,我需要
import javafx.scene.input.KeyCode;
public class GameOptions {
private static KeyCode moveNorth;
private static KeyCode moveEast;
private static KeyCode moveSouth;
private static KeyCode moveWest;
public GameOptions() {}
public static KeyCode getMoveNorth() {
return moveNorth;
}
期權類稱爲GameOptions但我現在感到茫然爲什麼它會導致類型與我的眼睛不匹配他們是同一類型的。指針導致我在正確的方向將是很好
我建議不要在switch語句中使用方法。創建一個關鍵的動作地圖,並只與這些動作一起工作。 – kaetzacoatl
在其他消息中,可以綁定到一個密鑰。 – ChiefTwoPencils
您可以在這裏包含來自每個類文件頂部的全部'import'語句,以及您正在接收的* exact *編譯器錯誤嗎? –