如何在不影响Box2D中身体运动的情况下将身体滑过身体

时间:2012-12-28 12:08:30

标签: cocos2d-iphone box2d

我正在尝试在桌面上实现燃烧火柴棍效果。因此它的自顶向下视图具有零重力。在火柴棍到达的任何地方它的附着火应该线性地跟随。所以我认为棱柱关节是我需要的。

我的火柴是一个矩形,我的火是一个传感器圈。

我在棱柱关节上经历了tutorial。在一个地方,它说"将身体设置为相同的翻译值' Clamps'身体在一起"。但是当我尝试这个时,bodyB不会滑动。

  1. prismaticJoint->setLimit(transVal,transVal);
  2. 虽然这个有效:
      prismaticJoint->setLimit(transVal,transVal+0.1);
  3. (其中transVal完全在限制范围内。)

    在方法1中,当我打印prismaticJoint->getJointTranslation时,它始终显示0.000(或-0.000)。

    在方法2中,bodyB确实会滑动并且翻译值正确但是我的bodyA也开始向与localAxisA相反的方向移动,就好像bodyA一样由于滑动而被推倒。

    我希望我的火柴杆不受关节线性运动的影响。我的火应该保持不受桌面上其他物体引起的任何撞击的影响。

    感谢。

0 个答案:

没有答案