cocos2d-x box2d物理引擎深入研究 第二篇之齿轮关节详解(b2GearJoint)

在熟悉了平移关节和旋转关节后,再来讲解齿轮关节就显得特别容易。

 

齿轮关节(b2GearJoint)

 

齿轮关节把两个刚体咬合在一起,来模拟现实世界中的齿轮。就那钟表齿轮为例,一个齿轮转动后就带动另外一个齿轮运动,或作平移运动或作旋转运动。在cocos2d-x的TestCpp中的Box2DTestBed中有个gear的例子。

 

上图中,左边的例子是三个动态刚体。最小的圆这个刚体和地面刚体用一个旋转关节进行固定.稍大的圆刚体和地面也是用旋转关节联系起来。长方形刚体和地面刚体用平移关节关系起来。然后又有两个齿轮关节。第一个齿轮关节把两个圆联系起来。第二个齿轮关节把大圆和长方形联系起来。所以左图上设计到四个刚体和五个关节。代码看例子代码在gear.h文件中。非常简单。这样当上下移动长方形刚体,则齿轮关节会带动大圆刚体,大圆刚体又带动小圆刚体。

 

右图中小圆是个静态刚体,所以在其上的所有物理行为都是无效的。然后创建了一个大圆的刚体。然后又创建了一个齿轮关节。

 

需要注意的是并不是两个刚体要相互接触了齿轮刚体才会有效果(一个带动另外一个)。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值