所以我有一些奇怪的情况与类型不匹配。一般的想法是,我正在创建一个游戏,其中玩家将能够定义他们自己的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 *编译器错误吗? –