簡體   English   中英

為什么我的對象不能在MouseMoved上移動?

[英]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是一個實例變量是在這種情況下,適當的,因為它的“價值”不改變(槳總是槳),但如果我只是把它定義為一個新的GRectsetupBoard我得到一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM