我不是說底部功能。只是一個運行到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);
}
}
}
顯然,這是一個GComound與建設在一個單獨的類和UFO在一個單獨的類。基本上,我不知道如何使UFO移動到X點,那麼當時在這一點上有束閃光燈同時使用
getElementAt(20,20).setVisible(false);
當時使建築物消失,然後讓動畫繼續隨着飛碟離開屏幕。
有沒有辦法從GraphicsProgram獲取當前的x和y?如果是這樣,在移動之後,檢查x和y以查看UFO是否在正確的位置,如果是,執行其他功能。即使GraphicsProgram沒有提供當前的x和y座標,你仍然可以在UFO類中跟蹤它們並執行相同的操作。 – blm