我目前正在阅读 Eric Robert 的Art and Science of Java,它使用了 ACM Java 库。其中一个练习让学生建立一个 Breakout 的克隆。我遇到了对象动画的问题,所以请看一下这段代码,如果可能的话,告诉我为什么球没有移动。
这是我为隔离给我带来麻烦的行为而编写的代码示例,但是在花了整个晚上之后,我想我最好寻求帮助,因为我根本没有取得任何进展。代码应该实现的只是移动对象。(注意:这不是作业问题。)
我在 setup() 中用球设置了画布,并打算让球在 play() 中移动,但没有任何反应。
该代码也已粘贴到: http: //pastebin.com/vy3rMrZw
package codeSamples_II;
import acm.program.*;
import acm.graphics.*;
public class PlayBall extends GraphicsProgram {
private static final int DELAY = 50;
private GOval ball;
private static final int BALL_RADIUS = 10;
public void run() {
setup();
play();
}
private void setup() {
GOval ball = new GOval(0,0, BALL_RADIUS*2, BALL_RADIUS*2);
ball.setFilled(true);
add(ball);
}
public void play() {
while (ball.getY() < 200) {
ball.move(5, 5);
pause(DELAY);
}
}
}
非常感谢!