Я не говорю с нижней функцией. Просто анимация, которая работает до точки X, останавливается на определенное количество времени и возобновляется. Причина, по которой я спрашиваю об этом, заключается в том, что мне нужно анимировать программу, в которой НЛО летает над зданиями, останавливается над зданием, заставляет его исчезать с помощью луча и движется дальше. Вот что у меня есть:Как сделать паузу и возобновить анимацию?
import java.awt.Color;
import acm.program.GraphicsProgram;
public class UFO extends GraphicsProgram {
public static final int APP_W = 800;
public static final int APP_H = 600;
public void init() {
setSize(APP_W, APP_H);
setBackground(Color.LIGHT_GRAY);
}
public void run() {
GBuilding Tower = new GBuilding(10, 400, Color.black, 80);
add(Tower);
GBuilding Tower2 = new GBuilding(160, 400, Color.CYAN, 80);
add(Tower2);
GBuilding Tower3 = new GBuilding(260, 400, Color.RED, 80);
add(Tower3);
GBuilding Tower4 = new GBuilding(410, 400, Color.BLUE, 80);
add(Tower4);
GBuilding Tower5 = new GBuilding(490, 400, Color.WHITE, 80);
add(Tower5);
GBuilding Tower6 = new GBuilding(640, 400, Color.GREEN, 80);
add(Tower6);
UFOmodel ufo = new UFOmodel(Color.GREEN, 0, 250);
add(ufo);
while (true) {
ufo.move(10, 0);
pause(30);
}
}
}
Очевидно, что это GCompound со зданием в отдельный класс и НЛО в отдельный класс. В принципе, я понятия не имею, как сделать движение НЛО в точку X, то в то время в этой точке имеет вспышки луча при использовании
getElementAt(20,20).setVisible(false);
в то время, чтобы сделать здание исчезает, а затем анимации продолжить с экраном выхода ufo.
Есть ли способ получить текущие x и y из GraphicsProgram? Если да, то после перемещения проверьте x и y, чтобы увидеть, находятся ли НЛО в нужном месте и если да, выполните другие функции. Даже если GraphicsProgram не предоставляет текущие координаты x и y, вы можете отслеживать их в классе UFO и делать то же самое. – blm