Java 如何在对象类中绘制图形时设置计时器
首先,对不起我的语法。我需要创建炸弹对象并绘制黑色,5秒后它将绘制为红色,而不会冻结我的游戏,我尝试制作轰炸机人游戏。谢谢Java 如何在对象类中绘制图形时设置计时器,java,timer,Java,Timer,首先,对不起我的语法。我需要创建炸弹对象并绘制黑色,5秒后它将绘制为红色,而不会冻结我的游戏,我尝试制作轰炸机人游戏。谢谢 import java.awt.*; public class Bomb { int x,y; int block = 60; public Bomb(int x,int y) { this.x = x; this.y = y; } void draw(Graphics g) { g.s
import java.awt.*;
public class Bomb {
int x,y;
int block = 60;
public Bomb(int x,int y) {
this.x = x;
this.y = y;
}
void draw(Graphics g) {
g.setColor(Color.BLACK);
g.fillOval(this.x * block, this.y * block, block, block);
if ( /*TIMER == 0*/) {
g.setColor(Color.RED);
g.fillOval(this.x * block, this.y * block, block, block);
}
}
}
你需要做的不仅仅是改变炸弹的颜色。你的游戏需要跟踪炸弹的状态。因此,您需要在不同的类中创建计时器,并让计时器的动作侦听器更改Bomb类用于确定其绘制方式的Bomb属性:
public class Bomb {
boolean expired;
// ...
void draw(Graphics g) {
g.setColor(expired ? Color.RED : Color.BLACK);
g.fillOval(this.x * block, this.y * block, block, block);
}
}
任何控制游戏逻辑的类都需要在创建炸弹时创建:
Bomb bomb = new Bomb(x, y);
Timer timer = new Timer(10_000, e -> {
bomb.expired = true;
});
timer.setRepeats(false);
timer.start();
使用@VGR我不知道如何与我的代码结合,有什么建议吗?