[英]Why isn't my object moving on MouseMoved?
簡單的問題 - 如果對象在onMouseMoved()
內部是.move()
的對象,為什么不會移動? 我試圖將Breakout寫成iTunes U上的斯坦福106A練習的一部分,由於某些原因我無法用槳來跟蹤鼠標。 我是一個java菜鳥,所以我確信這很簡單。 有人可以看看這段代碼嗎?
/** 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()
方法中的錯誤。
具有mouseMoved()
方法的類需要實現MouseMotionListener
接口,並添加動作偵聽器。 而且,事件處理程序是mouseMoved()
而不是MouseMoved()
。 所以,例如:
public class Game extends JPanel implements MouseMotionListener {
public void run() {
addMouseMotionListener(this);
//...
}
public void mouseMoved(MouseEvent e) {
paddle.move(e.getX()-paddle.getX(), 0);
}
//...
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.