实训八(游戏背景)

首先呢,先说说导演、场景、层、精灵的关系,一个场景里面包含图层,就是说层可以加载到场景当中,层上面又可以有很多精灵,这些精灵的移动、消失等动作构成了游戏的主要部分,一个游戏可能不仅仅只有一个场景,但是有且仅有一个导演的存在,这个存在且唯一的导演控制着整个游戏的流程。创建背景的通用三部曲:场景的创建、层的创建、精灵的创建(别忘记将层加入场景、将精灵计入层中)
//创建Scene
auto scene = Scene::create();
//创建层
auto layer = HelloWorld::create();
//把层加入场景中
scene->addChild(layer);
//创建一个精灵
auto sprite = Sprite::create("HelloWorld.png");
//把精灵加到层里
layer->addChild(sprite, 0);
 
言归正传,我的项目中涉及到的背景创建代码如下:
switch (BGI_Number) {
 case 1:
  Image_One = Sprite::create(strName);
  Image_Two = Sprite::create(strName);
  break;
 case 2:
  Image_One = Sprite::create(strName);
  Image_Two = Sprite::create(strName);
  break;
 case 3:
  Image_One = Sprite::create(strName);
  Image_Two = Sprite::create(strName);
  break;
 case 4:
  Image_One = Sprite::create(strName);
  Image_Two = Sprite::create(strName);
  break;
 case 5:
  Image_One = Sprite::create(strName);
  Image_Two = Sprite::create(strName);
  break;
 default:
  break;
 }
 
看了也许会有些不理解,不是说加背景吗?怎么一下出来了5个,其实方法就是三部曲,为了避免游戏过于无聊,可以利用C++中的随机函数、%取余和Swich语句实现多个背景的随机出现。
原文地址:https://www.cnblogs.com/revenge/p/5890554.html