我正在编写游戏代码;像这样的东西:http: //i.stack.imgur.com/HBrEE.png
我有一个名为 Canvas 的类,它扩展了 JLabel 并在 overriden 中paintComponent()
,将网格线图像作为背景,然后绘制玩家和障碍物(墙壁)。
通过使用createGraphics()
,我得到了一个 Graphics2D 对象。我也需要这个来画他们班上的武器和子弹。(如您所见,有几种武器会在特定的时间间隔内发射子弹。)
为了实现所有这些,我使用SwingUtilities.invokeLater()
我在 Canvas 类中绘制网格线、播放器和墙壁。我想为每个武器和每个子弹创建一个线程;我知道,这是一种矫枉过正,但由于我是多线程的新手,所以我没有其他想法!
另一个问题是 Graphics2D 对象:我需要在线程之间共享这个对象,所以我想到了使用final
关键字;但这是不可能的,因为 Graphics2D 对象的值将在paintComponent()
.
提前感谢您提供的任何帮助。