cocos2d-x 3.x 创造物理世界

cocos2d-x 在3.0后集成了物理引擎到自己的源码中。


运用的逻辑是这样的:

        新建node对象,可以在新建节点时指定图片的精灵对象,也可以不指定。然后再指定物理形态对应的形状。就会新建物理对象。


创建世界的源码可以

auto scene = Scene::createWithPhysics();
    Vec2 gravity(0,-10.0f);//指定重力,重力是向下的
    scene->getPhysicsWorld()->setGravity(gravity);
    scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);//设置成debug模式


在创建时也可以指定物理材料的性质

    
    PhysicsMaterial material;
    material.density = 0.0f;//密度
    material.restitution = 0.0f;//弹性系数
    material.friction = 0.0f;//摩擦系数

//创建添加的节点对象,创建精灵就将创建方式改成sprite
auto node = Node::create();
    node->setPhysicsBody(PhysicsBody::createEdgeSegment(Vec2(0,48),Vec2(visibleSize.width,48),material ) );
    scene->addChild(node);


你可能感兴趣的:(cocos2d-x)