我的 KeyPressed 正在工作,但我的 moveLeft 方法中的 avatarDX 没有变化。我在 moveLeft 上做错了吗?看起来应该很简单,但我不确定我做错了什么。我没有任何错误消息。
我正在画布上绘制图像
gc.drawImage(avatar, avatarSX, avatarSY, avatarSW, avatarSH, avatarDX, avatarDY, avatarDW, avatarDH);
对于 KeyPressed 我有
canvas.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
double speed = 2;
switch(ke.getCode()) {
case A:
System.out.println("pressed a");
moveLeft(avatarDX, speed);
System.out.println(avatarDX);
break;
}
}
});
而 moveLeft 是
private void moveLeft(double avatarDX, double speed) {
while (avatarDX > 0) {
avatarDX -= speed;
}
}
我将不胜感激任何帮助,我对此很陌生。