java游戏编程敌人爆炸

标签 java animation graphics repaint

嗨,我正在创建一个小游戏作为一个项目。 该游戏类似于小鸡入侵者。

游戏由 gameLoop 运行,它不断调用 render(Graphics g) 方法来绘制更改,并调用 tick() 方法来更改所有移动对象的 x,y 坐标。

我试图让我的鸡在撞击时爆炸(将它们的图片更改为爆炸).. 我的问题是变化发生得太快,用户看不到它。

我尝试使用以下内容:

timer.schedule(new TimerTask() {
              @Override
              public void run() {
                int temp = deleteExploasion;
                exploasions.get(temp).setExplosion(false);
                deleteExploasion++;
              }
            }, /*2*60*1000*/ 1500);

它在鸡上设置一个 boolean 值,并在 1.5 秒内鸡应该在下一个渲染方法中被绘制回来。 但我不断得到

Timer already cancelled.
at java.util.Timer.sched(Unknown Source)

Exception in thread "Timer-0" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.LinkedList.checkElementIndex(Unknown Source)

非常感谢有关如何实现这样的事情的帮助或建议。

最佳答案

由于您已经使用 tick() 方法来更新游戏,因此您还应该使用它来处理计时器。

创建一个名为delay或timer或其他东西的int,并在tick()方法中减少它,然后检查计时器是否完成并调用爆炸或删除方法。

关于java游戏编程敌人爆炸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715210/

相关文章:

java - 为什么将 "0000:00:00 00:00:00"解析为日期返回 -0001-11-28T00 :00:00Z?

java - 抽象类的 Autowiring 依赖项注入(inject)失败

c - Opengl 形状未在回调函数中绘制

java - 在垃圾收集例程运行之前程序何时终止

javascript - 无法在首次单击时禁用链接并在动画完成时重新启用

android - 共享元素过渡

wpf - 动画结束后关闭 WPF 窗口

java - 在 Board (JPanel) 中模拟鼠标点击

java - Android:绘制位图数组列表会导致黑色背景

java - 如何在注入(inject) JVM 之前验证 Java 字节码?