您的位置:首页 > 移动开发 > Cocos引擎

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

2013-06-13 21:35 375 查看
在熟悉了平移关节和旋转关节后,再来讲解齿轮关节就显得特别容易。

 

齿轮关节(b2GearJoint)

 

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

 



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

 

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

 

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

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: