• 场景创建
    • 还记得场景图吗
    • 一个简单场景

    场景创建

    创建一个场景非常简单:

    1. auto myScene = Scene::create();

    还记得场景图吗

    第二章中我们学到了 场景图(Scene Graph) 以及在游戏中它是如何生效的。要记得场景图决定了场景内节点对象的渲染顺序,也要记得 z-order 是如何影响场景图的。

    渲染时 z-order 值大的节点对象会后绘制,值小的节点对象先绘制

    一个简单场景

    让我们构建一个简单的场景,来学习场景的使用。记得 Cocos2d-x 用右手坐标系,也就是说坐标原点(0,0)在展示区的左下角,当你在场景里放置一些节点对象设置坐标位置时,注意左下角是坐标计算的起点。

    1. auto dirs = Director::getInstance();
    2. Size visibleSize = dirs->getVisibleSize();
    3. auto myScene = Scene::create();
    4. auto label1 = Label::createWithTTF("My Game", "Marker Felt.ttf", 36);
    5. label1->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
    6. myScene->addChild(label1);
    7. auto sprite1 = Sprite::create("mysprite.png");
    8. sprite1->setPosition(Vec2(100, 100));
    9. myScene->addChild(sprite1);

    当运行这个代码的时候,我们会看到有一个场景,场景里面有一个标签和一个精灵。这虽然很简单,但这却是开发一个游戏最重要的开始!