场景创建

创建一个场景非常简单:

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

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