滑轮关节(b2PulleyJoint)

 1 package{
 2     import Box2D.Collision.b2AABB;
 3     import Box2D.Collision.b2RayCastInput;
 4     import Box2D.Collision.b2RayCastOutput;
 5     import Box2D.Collision.Shapes.b2CircleShape;
 6     import Box2D.Collision.Shapes.b2PolygonShape;
 7     import Box2D.Collision.Shapes.b2Shape;
 8     import Box2D.Common.Math.b2Vec2;
 9     import Box2D.Dynamics.b2Body;
10     import Box2D.Dynamics.b2BodyDef;
11     import Box2D.Dynamics.b2Fixture;
12     import Box2D.Dynamics.b2FixtureDef;
13     import Box2D.Dynamics.b2World;
14     import flash.display.Sprite;
15     import flash.utils.getTimer;
16     import Box2D.Dynamics.Joints.b2PulleyJoint;
17     import Box2D.Dynamics.Joints.b2PulleyJointDef;
18 
19     /**
20     * 
21     */
22     public class Main extends BaseMain{
23         
24         
25         public function Main(){
26             super(new b2Vec2(0,10));
27         }
28         
29         override protected function init():void{
30             var bodyA:b2Body=this.createBox(50,50,100,400);
31             var bodyB:b2Body=this.createCircle(25,700,400);
32             
33             var jointDef:b2PulleyJointDef=new b2PulleyJointDef();
34             
35             //悬挂的两个点
36             var gaA:b2Vec2=new b2Vec2(100/_pixelToMeter,100/_pixelToMeter);
37             var gaB:b2Vec2=new b2Vec2(700/_pixelToMeter,100/_pixelToMeter);
38             
39             var anchorA:b2Vec2=bodyA.GetWorldCenter();
40             var anchorB:b2Vec2=bodyB.GetWorldCenter();
41             var r:Number=1;//如果系数是2,那么 length1 的变化会是 length2 的两倍。另外连接 body1 的绳子的约束力将会是连接 body2 绳子的一半。
42             jointDef.Initialize(bodyA,bodyB,gaA,gaB,anchorA,anchorB,r);
43             var joint:b2PulleyJoint=_world.CreateJoint(jointDef) as b2PulleyJoint;
44         }
45         
46         override protected function stepBefore():void{ 
47             
48         }
49         
50         
51     };
52 }

 

源码下载:http://yunpan.cn/c3aI3KPrsUSXy  访问密码 64bc

转载于:https://www.cnblogs.com/kingBook/p/5062539.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值