我试图用Java制作一种AsteroidFighter游戏。
我创建了一个JPanel并在面板上绘制了几个.png文件,我的宇宙飞船,一些障碍物,如小行星和收集物,当然还有我的宇宙飞船射击的射弹。所有这些物体都在移动。 障碍物和射弹都保存在ArrayLists中。
我使用swing-timer每25毫秒重新绘制一次JPanel。
据我所知,我应该使用我的JPanel中的paintComponent方法来绘制/绘制我的.png文件,而不是重新计算我的物体的位置,并检测我的射弹,障碍物和我的宇宙飞船之间的碰撞。 / p>
我的问题是:
我应该如何/在何处重新计算位置并检测碰撞?
我应该使用额外的Thread / Runnable,据我所知, 干扰事件调度线程?
我应该使用Swingworker,它不仅会被执行一次,而且会在无限循环中执行吗?
或者我应该使用其他我到目前为止没想过的东西?
提前感谢您提供一些建议,无论是在哪里阅读/阅读/重新阅读或使用什么。
干杯,最大