在我正在制作的游戏中,我有一个电源,我只想显示 10 秒然后消失。因此,每当你启动电源时,我都会运行一个摆动Timer
,它的初始延迟设置为 10 秒 (10_000),我还将重复设置为 false,因此它应该只运行一次。
每当我第一次启动电源时,它只会按预期显示 10 秒,但是当我再次启动时,它只会在随机的时间内可见(但永远不会超过 10 秒),因此它似乎会重复自己. setRepeats(false);
那么,当它运行一次不起作用时,我怎样才能让它停止呢?
这是启动电源时发生的情况的代码。
if(!power.getPowerUp()){
double xAirdrop = xSize - 500;
double yAirdrop = ySize - 500;
power.setX(Math.random() * xAirdrop + 64);
power.setY(Math.random() * yAirdrop + 150);
power.setPowerUp(true);
Timer powerTimer = new Timer(10_000, new ActionListener(){
public void actionPerformed(ActionEvent e){
power.setPowerUp(false);
power.setWidth(power.getCrate().getWidth(null) + 250);
power.setHeight(power.getCrate().getHeight(null) + 250);
}
});
powerTimer.setInitialDelay(10_000);
powerTimer.setRepeats(false);
powerTimer.start();
}