gpt4 book ai didi

java - 如何在对象类中的绘制图形中设置计时器

转载 作者:行者123 更新时间:2023-12-01 17:57:47 26 4
gpt4 key购买 nike

首先,对不起我的语法。我需要创建炸弹对象并涂成黑色,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.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);
}
}
}

最佳答案

您需要做的不仅仅是更改炸弹对象的颜色。您的游戏需要跟踪炸弹的状态。因此,您需要在不同的类中创建一个计时器,并让该计时器的 Action 监听器更改 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);
}
}

无论哪个类控制游戏的逻辑,都需要创建 Timer每当它制造炸弹时:

Bomb bomb = new Bomb(x, y);
Timer timer = new Timer(10_000, e -> {
bomb.expired = true;
});
timer.setRepeats(false);
timer.start();

关于java - 如何在对象类中的绘制图形中设置计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60686842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com