我遇到了一个问题,无论我多长时间研究类和超类的API,都无法弄清楚。
假设我想设计一种游戏,其中鼠标运动控制块的运动,该块用于弹球,然后摧毁彩色砖块。
如何使块“听取”鼠标? 以下代码是我尝试实现所需结果的代码。
/** Breakout Program*/
public class Breakout extends GraphicsProgram implements MouseMotionListener {
...
/** The Paddle Itself */
private GRect paddle = new GRect(0, HEIGHT-PADDLEBOTTOM_OFFSET, PADDLEWIDTH, PADDLEHEIGHT);
...
/** Run the Breakout program. */
public void run() {
paddle.setFillColor(Color.BLACK);
paddle.setFilled(true);
add(paddle);
paddle.addMouseListener(this);
...
}
/** Move the horizontal middle of the paddle to the x-coordinate of the mouse position -
* -but keep the paddle completely on the board. */
public void mouseMoved(MouseEvent e) {
GPoint p= new GPoint(e.getPoint());
double x = p.getX();
paddle.setLocation(x, HEIGHT-PADDLEBOTTOM_OFFSET);
}
}
任何关于我做错的原因/内容的澄清都会很有帮助,谢谢。