平移关节可能更多的俗称为滑动关节。关节上的两个物体相对于彼此来说保持固定的旋转,它们只能够沿着特定的轴线一起移动。平移关节可以进行限定,保证其只能沿着某个轴在一定范围内进行移动。还可以设定此关节的马达,连接的物体会以给定的力,以相应的速度进行移动。平移关节经常使用的场景为:
- 电梯
- 滑动门
平移关节和旋转关节的属性很类似。只有一些细微的差别。
下面来详细讲解平移关节的属性和这些属性对平移关节的影响。
创建平移关节:
平移关节第一次创建的时候需要先定义b2PrismaticJointDef并进行设置,然后作为参数传入CreateJoint方法,此方法返回b2PrismaticJoint对象。下面先对诸多关节的共有属性进行设置.这些共有属性包括 :关节连接的两个刚体和两个刚体是否发生碰撞。
b2PrismaticJointDef prismaticJointDef; prismaticJointDef.bodyA = bodyA; prismaticJointDef.bodyB = bodyB; prismaticJointDef.collideConnected = false;
在讲解关节的属性之前,让我先创建两个刚体。CCSize size = CCDirector::sharedDirector()->getWinSize(); b2BodyDef bodyDef; bodyDef.type = b2_dynamicBody; b2FixtureDef fixtureDef; //让刚体A特别的重 fixtureDef.density = 10000; b2PolygonShape shapeA; //刚体A宽为4,高为2 shape