我目前正在尝试使用java制作游戏,我想使用矢量图形来避免当前许多其他游戏的块状感觉。我已经研究了在java中使用一些不同的Shape
实现,如Path2D
和Area
。问题是两者都没有我需要的所有功能。这是我正在寻找的:
- 我需要能够使用基于矢量图形的方法(
lineTo()
、moveTo()
等)来创建它。 - 我需要能够将其绘制到JPanel上
- 我需要能够测试两个实例是否相交,或者至少测试一个实例是否包含一个点。
- 最后,我需要能够将它们合并在一起或从另一个中减去一个。
我知道这是一个很长的机会,但我希望有人可能知道一个库或具有此功能的东西。
至于图书馆,我没有答案。我可能错过了一点,但据我所知,Graphics2D 形状和区域具有您列出的所有功能。他们需要什么?
当然,JavaFx有你要求的一切,但是如果你想写一个Swing应用程序:
我没有将它们用于游戏,而是用于编辑器,这是我的建议:
- 创建您自己的图形元素类。 使用形状和面积来实现它们,并使其成为复合元素。
- 对于碰撞,在你的元素上有一个 getArea() 方法。该区域可以是所有区域的并集。代表您的元素。
- 在现实生活中,它可能有点慢,但是...考虑做一些预渲染为位图图片(也许在开始游戏时,当你知道分辨率时?