1
简单的问题 - 为什么如果它是.move()
内onMouseMoved()
内的对象不会移动?我正在尝试将Breakout作为iTunes U的Stanford 106A练习的一部分,并且出于某种原因,我无法使用桨来跟踪鼠标。我是一个Java noob,所以我确定它非常简单。有人可以看看这段代码吗?为什么我的对象不能在MouseMoved上移动?
/** Runs the Breakout program. */
public void run() {
setupBoard();
addMouseListeners();
}
/** Provides the initial GCanvas and blocks for the game */
private void setupBoard(){
this.setSize(APPLICATION_WIDTH,APPLICATION_HEIGHT);
addBricks();
paddle = new GRect(PADDLE_WIDTH, PADDLE_HEIGHT);
add(paddle, WIDTH/2-PADDLE_WIDTH/2,HEIGHT-PADDLE_Y_OFFSET);
}
public void MouseMoved(MouseEvent e){
paddle.move(e.getX()-paddle.getX(), 0);
}
private GRect paddle;
}
我不知道是否有paddle
是一个实例变量,在这种情况下适当的,因为它的“价值”不改变(桨总是桨),但如果我只是把它定义为一个新GRect
在setupBoard
我在MouseMoved()
方法中出错。
你说得对大写,但AFAIK addMouseListeners()同时添加MouseListener和MouseMotionListener。如果您想编辑,我会将您的答案标记为正确。不敢相信我犯了这样一个愚蠢的错误。 – jefflovejapan
@jefflovejapan - 无需编辑,addMouseListeners是您自定义(框架?)代码中的一种方法,只有您知道:-)答案在所有部分都是正确的。 – kleopatra
@kleopatra - 够公平! – jefflovejapan