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