【发布时间】:2016-11-07 07:41:07
【问题描述】:
我正在制作一个 libgdx 游戏,其中用户可以自己创建一个距离关节和一个旋转关节,所以每当触摸 2 个物体时我所做的就是将它们都添加到 arrayList 中,然后当触摸按钮时将创建一个关节。问题是关节总是在中心,所以我想知道是否有办法获取身体被触摸的位置?然后将这些位置设置为 anchorPointA 和 anchorPointB。
【问题讨论】:
我正在制作一个 libgdx 游戏,其中用户可以自己创建一个距离关节和一个旋转关节,所以每当触摸 2 个物体时我所做的就是将它们都添加到 arrayList 中,然后当触摸按钮时将创建一个关节。问题是关节总是在中心,所以我想知道是否有办法获取身体被触摸的位置?然后将这些位置设置为 anchorPointA 和 anchorPointB。
【问题讨论】:
我得到的第一个想法是手势侦听器,例如参见GestureDetector.GestureAdapter()。然后实现 touchDown 方法,您可以在其中获取 x、y 触摸位置。要查看身体是否被触摸,您可以使用Vector.dst() 方法,但如果需要,请不要忘记取消投影。
另一个想法可能是给你的演员(它连接到你的身体)添加一个 InputListener,但我还没有尝试过。
【讨论】: