Java에서 뱀 게임을 만들고 있으며 사용자 키 입력을 사용하여 이동 방향을 제어해야합니다. 이것은 switch
성명을 통해 가능합니까? 원래 Scanner s = new Scanner(System.in)
을 사용하여 사용자가 'u', 'd'등을 입력하여 뱀을 움직일 수있게했지만 대신 키보드 화살표를 사용하고 싶습니다. 여기 사용자 입력 키 입력이있는 Java 스위치
public void controlSnake(){
Scanner s = new Scanner(System.in);
String inputString = s.next();
switch (inputString) {
case "u":
case "U":
snake.changeDirection(Point.NORTH);
break;
case "d":
case "D":
snake.changeDirection(Point.SOUTH);
break;
case "r":
case "R":
snake.changeDirection(Point.EAST);
break;
case "l":
case "L":
snake.changeDirection(Point.WEST);
break;
}
}
나는 이런 식으로 뭔가를 삽입하는 것,하지만 확실하지 않은 방법 :
map1.put(KeyStroke.getKeyStroke("LEFT"), "moveLeft");
getActionMap().put("moveLeft", new AbstractAction() {
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
snake.changeDirection(Point.WEST);
}
});
이 작업을 수행하는 가장 좋은 방법이 될 것입니다 무엇 ?
스윙 중심의 이벤트, 이것이 당신이 입력을 얻기 위해'System.in'을 사용할 수 없습니다 의미, 즉 아니다 어떻게해야합니까? 대신 [Key Bindings] (https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) – MadProgrammer