나는 창을 끝낼 때까지 그래픽 창 아래쪽과 위쪽에서 GOval 공을 다시 위아래로 튀기는 간단한 애니메이션을 만들려고합니다. 문제는 공을 그래픽 창 하단을 인식하고 다른 방향으로 튀어 나오게하는 방법을 이해하지 못한다는 것입니다. 즉, 공은 바닥에서 튀어 나오지 않고 계속 떨어지고 결국 스크린 하단에서 사라집니다.
이 문제에 대해 생각할 때 올바른 방법은 무엇입니까? < 공이 아래로 내려 가야한다는 단계입니다. 나는 공이 위로 튀어 오르고 다시 떨어지는 상태가 무엇인지 이해하지 못한다.기본 튀는 공
import acm.program.*;
import acm.graphics.*;
public class BouncingBall extends GraphicsWindow{
public void run(){
GOval ball = new GOval(0, 0, OVAL_SIZE, OVAL_SIZE);
ball.setFilled(true);
add(ball);
int dx = 0;
int dy = 1;
while(true) {
int i = 0;
if (i < STEPS) {
ball.move(dx, dy);
pause(PAUSE_TIME);
}
if (??) {
ball.move(dx, - dy);
pause(PAUSE_TIME);
}
i++;
}
}
private static final STEPS = 1000;
private static final OVAL_SIZE = 25;
private static final PAUSE_TIME = 7;
}
예, oops 저는 GraphicsWindow가 아니라 GraphicsProgram을 의미합니다. –
좋아, 코드에 해당 조건을 사용하고 속도를 반전하고 작동하는지 확인하십시오. –
감사합니다. –