1

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

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

现在感觉就像我在拖公共汽车。

现在我必须处理旋转。

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

我心中的简单逻辑是拖动手指意味着画一条线..现在我必须将演员的中心线与拖动的线相匹配..

请给我有关处理公共汽车轮换的提示。谢谢,

4

1 回答 1

1

在我看来,你只是想让公共汽车沿着一条小路走,就像一辆普通的公共汽车沿着一条路走一样。

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

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

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

于 2013-08-20T07:24:57.643 回答