cocos2d-x 3.2 |Box2d 物理引擎 old一
Box2d 物理引擎
第一步:在头文件中定义物理世界
public:
//定义物理世界对象
b2World * world;
其次需要我们在场景init中初始化物理世界 以便存放静态的、动态的、漂浮等刚体
//初始化物理世界
b2Vec2 gravite;
//设定重力加速度
gravite.Set(0.0f, -9.8f);
this->world=new b2World(gravite);
需要模拟场景 我们需要一个地板类型的物体 观察物体在地面效果、当然还需要加入一个地板的夹具(也就是碰撞区)
先来创建地面物体:地板
//创建Body
b2BodyDef groundDef;
//初始化body位置
groundDef.position.Set(.0f,50/32.0f);
b2Body * groundBody=world->CreateBody(&groundDef);
再来给地面增加夹具:碰撞区
//创建夹具定义刚体的形状
b2PolygonShape groundShape;
groundShape.SetAsBox(visibleSize.width/32, 50/32);
将创建的夹具绑定到刚体(地板)上:
//刚体绑定夹具
groundBody->CreateFixture(&groundShape, 0);
简单的物理世界就已经构建完成,下一篇会介绍简单的物理小球在场景中的下落效果!!