学习 Box2D 个人笔记(八)b2RevoluteJoint

b2RevoluteJoint  转动的关节,物体绕着一个东西转动。这里我把转动的点设为一个定点,我感觉box2d里相对物体也用的挺多的 .

效果如图:



代码如下:

//      转动关节
    b2RevoluteJoint * revolutejoint;
    b2RevoluteJointDef rjd;
    rjd.collideConnected = true;

    {
        //这是设置 驱动力,以及转动最大的速度
        rjd.motorSpeed = -4;
        rjd.maxMotorTorque = 40;
        rjd.enableMotor=true;
    }
    
    rjd.Initialize(groundBody,bodyB,bodyB->GetWorldCenter());//前两个参数设置要转的body和相对的body,第三个指位置。
    revolutejoint = (b2RevoluteJoint*)world->CreateJoint(&rjd);
    {
    //设置limit  让节点在一定的范围内转动
//    revolutejoint->SetLimits(0, 3.14/6);
//    revolutejoint->EnableLimit(true);
     
    }
这里有两个点:一个是转动的角度的限制,一个是动力和最大的速度,可以通过注释掉来看到效果。

你可能感兴趣的:(Box2D)