Scene2d:演员的圆形碰撞箱

Scene2d: Circular hitbox for an actor

有没有办法让 Actors 的碰撞框变成圆形。或者,如果例如添加一个 Inputlistener 并检查触摸点是否在圆圈内,或者将输入传递给将被击中的下一个 actor。

如果命中不在圆圈内而是在 actor 的范围内,这对我来说很重要,事件将传递给下一个将被命中的 actor。

Dario,给 Actor 添加一个 com.badlogic.gdx.math.Circle。然后,按照你的建议,添加一个 InputListener 并使用 Circle.contains(float x, float y) 来确定触摸的坐标是否在圆圈内。如果您希望在点击常规矩形碰撞框之前捕获触摸事件,请使用 Actor.addCaptureListener 添加您的 InputListener。

您需要重写 actor 的 hit 方法并针对您定义的圆进行测试。这是允许命中通过 actor 的矩形角到达可能在其后面的 actor 的唯一方法。 Listeners 只是......他们只会在 Stage 已经确定哪个 Actor 被击中后才会做出反应。