Libgdx应用于演员手指触摸/移动方向

时间:2013-08-20 06:16:17

标签: drag-and-drop rotation libgdx actor

考虑我是通过手指触摸和拖动动作拉动公共汽车。道路不直。所以,如果我在路上移动我的手指。总线应该跟随手指以及转弯时需要的一些旋转。

首先找到演员和接触点之间的距离,如果它少于那么 我只是将总线(Actor)的位置设置为触点位置。

现在感觉我正拖着公共汽车。

现在我必须处理轮换。

我可以向演员施加力量接触点吗? 我可以处理演员对接触点的旋转......

在我的脑海中简单的逻辑是拖动手指意味着绘制一条线..现在我必须匹配演员的中心线到拖动线..

请给我一些关于处理公交车轮换的提示。 谢谢,

1 个答案:

答案 0 :(得分:1)

听起来像你只是希望公共汽车沿着一条道路行驶,就像普通公共汽车沿着道路走。

您可以通过向其施加扭矩来旋转身体。这意味着你将使用applyForce(...)而不是使用质心作为施加力的点。

但是你不想施加一个力并使它朝着某个目标点移动,因为那只会看起来很怪异,你需要对现实的汽车物理进行一些特殊处理(对于自上而下,你可以看到这里http://www.iforce2d.net/b2dtut/top-down-car)。

最好自己计算路径并计算该路径上不同点之间的角度。然后使用body.setTransform(...)并手动设置总线的位置和旋转。如果你没有任何物理引擎那么你就是这样做的。