By
被删
更新日期:
第四章主要介绍距离关节(distance-joint)。
距离关节(distance-joint)
说明
使用距离关节连接的两个物体上的选定的两个点之间的距离是常量,它限制了两个物体之间的距离,使它始终保持一个常量,就像自行车的两个轮子。
b2DistanceJointDef
距离关节是最简单的关节之一,它描述了两个物体上的两个点之间的距离应该是常量。当你指定一个距离关节时,两个物体必须已在应有的位置上。
随后,你指定两个世界坐标中的锚点 。第一个锚点连接到物体1,第二个锚点连接到物体2。这些点隐含了距离约束的长度。
首先创建两个物体,然后放到世界里,然后使用基类b2DistanceJointDef创建一个距离关节,连接它们。
每个距离关节都有两个锚点,分别赋予两个物体上某一点的坐标,这样子就使用一个距离关节将两个物体的选定点连起来。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| var Shape1 = new b2BoxDef(); Shape1.extents.Set(10, 10); Shape1.density = 1; Shape1.restitution = .3; Shape1.friction = 1;
var BodyDef1 = new b2BodyDef(); BodyDef1.position.Set(300, 490); BodyDef1.AddShape(Shape1); Body1 = world.CreateBody(BodyDef1);
var Shape2 = new b2BoxDef(); Shape2.extents.Set(20, 20); Shape2.density = 1; Shape2.restitution = .3; Shape2.friction = 1;
var BodyDef2 = new b2BodyDef(); BodyDef2.position.Set(400, 480); BodyDef2.AddShape(Shape2); Body2 = world.CreateBody(BodyDef2);
var jointDefDistance = new b2DistanceJointDef(); jointDefDistance.body1 = Body1; jointDefDistance.body2 = Body2; jointDefDistance.anchorPoint1=Body1.GetCenterPosition(); jointDefDistance.anchorPoint2=Body2.GetCenterPosition(); var jointDistance=world.CreateJoint(jointDefDistance);
|
查看Github有更多内容噢:https://github.com/godbasin
更欢迎来被删的前端游乐场边撸猫边学前端噢
如果你想要关注日常生活中的我,欢迎关注“牧羊的猪”公众号噢