我们实现的是游戏开始的时候都会有不同的游戏图片切换来给玩家展示游戏中的场景,先来看看效果图片:
当然我们可以选择很多的图片进行切换,切切切。
其实实现比较简单,运用cocos引擎的Update可以轻松地实现,下面少年来给大家详细的讲解下:
- 首先创建一个logoScene类:
class LogoScene :public Scene
{
public:
void update(float);
virtual bool init();
CREATE_FUNC(LogoScene);
private:
int time ;
Sprite *logo;
};
- 再来实现以下其中的几个函数
bool LogoScene::init()
{
if (!Scene::init())
return false;
time = 2;
logo=Sprite::create("images/logo/meng_01.jpg");
logo->setPosition(Director::getInstance()->getVisibleSize().width / 2, Director::getInstance()->getVisibleSize().height / 2);//设置图片的位置为正中心
this->addChild(logo);
schedule(schedule_selector(LogoScene::update), 0.5f, kRepeatForever, 0);//开启定时器
return true;
}
void LogoScene::update(float t)
{
//time==5的时候就是图片切换完毕,可以进入下一个场景。
if (time == 5){
Scene *scene = LoadingScene::createScene(MENUSCENE, TRANSITIONFADE, pics, "sound/background-music.mp3");
Director::getInstance()->replaceScene(scene);
}
else
{
//每次设置一张不同图片
char b[100];
sprintf(b, "images/logo/meng_0%d.jpg", time);
logo = Sprite::create(b);
time++;
}
}
-定时器函数update每一次触发都改变一张图片。运用sprintf函数来输入不同的图片编号,实现的效果就是每0.5秒会变一张图片,切换完毕后会转换到另外一个场景。
- 这个功能很基础,有问题可以给少年留言,谢谢。