因此,我有一個存儲關於宇宙的不同對象(行星,彗星,星等)的數組列表。而不是這樣做:遊戲的每一次迭代我希望它減少1 0
planet.decreaseLifeTime(1);
star.decreaseLifeTime(1);
comet.decreaseLifeTime(1);
遊戲的每一次迭代,我希望它由1減少生活時間,我試過,但它不工作:
private ArrayList<SpaceObject> universeEntities;
public void reduceLifeTime() {
for (SpaceObject entity: universeEntities) {
entity.decreaseLifeTime(1);
if(entity.getLifeTime() <= 0) {
erase(entity);
System.out.println("This entity has been erased");
}
System.out.println("life time: " + entity.getLifeTime());
}
}
對象添加像這樣:
planet = new Planet(500, 500, -2, -2, 25, Color.BLUE, this);
universeEntities.add(planet);
你的問題是什麼? – epoch
行'擦除(實體)'是否更改'universeEntities'列表? –
它只減去1,即生命期(這是一個整數)一次。然而,我希望它不斷減去1,直到達到0. – COLONELXO