Prismatic Joint(移动关节)
Prismatic Joint的作用是在一个方向上移动某一个刚体,移动的最大距离和最小距离可以定义,移动过程中刚体不能转动。一般可以用着活塞运动。
下面的是创建移动关节的主要代码:
var pristmaticRect:Rect = new Rect(40, 40, new Point(275, 200), new Point(), new MyRect(), _container); var prismaticJointDef:b2PrismaticJointDef = new b2PrismaticJointDef(); prismaticJointDef.Initialize(_world.GetGroundBody(), pristmaticRect.body, pristmaticRect.body.GetPosition(), new b2Vec2(1, 0)); prismaticJointDef.enableMotor = true; prismaticJointDef.enableLimit = true; prismaticJointDef.motorSpeed = Math.PI / 5; prismaticJointDef.maxMotorForce = 300; prismaticJointDef.upperTranslation = 150 / PhyOption.PHYSCALE; prismaticJointDef.lowerTranslation = -150 / PhyOption.PHYSCALE; _prismaticJoint = _world.CreateJoint(prismaticJointDef) as b2PrismaticJoint;
4-7行的属性跟Revolute Joint中一样,具体说明上一篇有详细介绍。
8-9行分别是刚体沿某个方向移动的最大最小距离,以米为单位。
3行Initialize方法的第四个参数设定的是刚体移动的方向,如x轴方向或者y轴方向。此参数是一个b2Vec2对象,且其x,y属性都不能超过1,否则会有意想不到结果。当要沿x轴移动时,设置为x=1,y=0;要沿y轴移动时,设置为y=1,x=0;
作者:ywxgod
E-mail:给我发邮件
出处:http://ywxgod.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
E-mail:给我发邮件
出处:http://ywxgod.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。