저는 일반적으로 애플릿을 프로그래밍하고 Java GUI를 배우기 시작 했으므로 간단한 게임을 만들려고합니다. 지금은 메인 클래스 (Game)와 플레이어 클래스 (Player)를 가지고 있는데 플레이어에게 화면을 그려 넣었습니다.하지만 키 이벤트가 작동하는 데 어려움을 겪고 있습니다.KeyListener 이벤트가 Java 애플릿에서 실행되지 않는 것 같습니다.
플레이어 이미지가 완벽하게 표시되지만 키를 누를 때 위치가 변경되지 않습니다.
편집 : 플레이어 게시 잘못된 코드,
Game.java 업데이트 :
public class Game extends Applet {
Player player;
@Override
public void init() {
player = new Player(this);
this.setSize(800, 600);
addKeyListener(player);
}
@Override
public void paint(Graphics g) {
player.paint(g);
}
}
Player.java :
public class Player implements KeyListener {
Game game;
Image image;
int x;
int y;
public Player(Game game) {
this.game = game;
x = 0;
y = 0;
image = game.getImage(game.getCodeBase(), "images/Player.png");
}
public void paint(Graphics g) {
g.drawImage(image, x, y, game);
}
@Override
public void keyTyped(KeyEvent e) {
return;
}
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_A:
x -= 1;
break;
case KeyEvent.VK_D:
x += 1;
break;
case KeyEvent.VK_S:
y += 1;
break;
case KeyEvent.VK_W:
y -= 1;
break;
}
game.repaint();
}
@Override
public void keyReleased(KeyEvent e) {
return;
}
}
1) * "애플릿을 프로그래밍하고 Java GUI를 일반적으로 배우기 시작했습니다."* 애플릿을 피하고 프레임을 사용하여 학습합니다. 그들은 더 간단합니다. 2)이 천년기는 AWT 대신 Swing을 사용합니다. 3) 애플릿 크기가 HTML에 의해 설정되고,'init()'에서'setSize()'를 호출하지 마십시오. –