【发布时间】:2016-05-29 20:00:12
【问题描述】:
有没有办法让 Actors hitbox 变成圆形。或者,例如添加一个 Inputlistener 并检查触摸点是否在圆圈内,或者将输入传递给下一个将被击中的 actor。
如果命中不是在圆圈内而是在演员的边界内,这对我很重要,事件会传递给下一个将被命中的演员。
【问题讨论】:
有没有办法让 Actors hitbox 变成圆形。或者,例如添加一个 Inputlistener 并检查触摸点是否在圆圈内,或者将输入传递给下一个将被击中的 actor。
如果命中不是在圆圈内而是在演员的边界内,这对我很重要,事件会传递给下一个将被命中的演员。
【问题讨论】:
Dario,将 com.badlogic.gdx.math.Circle 添加到 Actor。然后,按照您的建议,添加一个 InputListener 并使用 Circle.contains(float x, float y) 来确定触摸的坐标是否在 Circle 内。如果您希望在点击常规矩形碰撞框之前捕获触摸事件,请使用 Actor.addCaptureListener 添加您的 InputListener。
【讨论】:
您需要覆盖您的演员的hit 方法并针对您定义的圈子进行测试。这是允许点击通过演员的矩形角到达可能在其后面的演员的唯一方法。听众只是......他们只有在舞台已经确定哪个演员被击中后才会做出反应。
【讨论】: