私はちょうどアプレットをプログラミングすることを学び始めましたし、Java GUIは一般的に、私は単純なゲームを作ろうとしています。現時点では、私はメインクラス(ゲーム)とプレーヤークラス(Player)を持っています。プレーヤーには画面に描画されていますが、私は主要なイベントを稼働させるのに苦労しています。KeyListenerイベントは明らかにJavaアプレットで起動しません
プレーヤーの画像は完璧に表示されますが、キーを押したときの位置は変わりません。
EDIT:プレイヤーのために掲示間違ったコード、
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()'を呼び出さないでください。 –