cocos2d-x 3.2 |Box2d 物理引擎 old 一

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);


简单的物理世界就已经构建完成,下一篇会介绍简单的物理小球在场景中的下落效果!!




你可能感兴趣的:(box2D,物理引擎,刚体,静态物体,烦恼小鸟)