制作自定义形状JavaFX

时间:2017-03-16 16:17:47

标签: java javafx

我正在JavaFX中制作2D游戏,当检测到碰撞时,由于玩家精灵被设置为矩形的填充因此没有预期的边界,我得到的结果相当不准确。有没有办法让自己成型,以便尽可能准确?

我的另一个想法是检查碰撞的像素是否透明然后如果没有结束游戏。有没有人知道我可以获得碰撞的像素坐标的方式,以便从那里我可以使用PixelReader进行检查?

如果有人知道更好的方法,请告诉我!

谢谢, 乙

1 个答案:

答案 0 :(得分:0)

有不同的方法可以做到这一点。这是我用过的一种方法,取得了很好的成功。我会制作打盒子,它们本身就是长方形。然后在碰撞检测过程中,我会遍历所有的命中框,看看它们是否与飞行弹丸的碰撞盒相撞。

这允许您做的是用较小的矩形填充复杂的形状。例如,一个平面将有一个长水平矩形和一个在中间交叉的小矩形。

目前我正在使用libGDX。在libGDX中,我使用了如此处所述的Polygon对象。 https://stackoverflow.com/a/28540488/1490322我没有在JavaFX中看到类似的功能,但是将libGDX正在做的事情复制到JavaFX代码中并不难......他们的代码是开源的。