cocos2dx3.2 实现splash屏幕简单实现

首先将splash,像素480 * 800大图如下图:


切成四个小图(480 * 200)命名:SplashSlice_01.png,SplashSlice_02.png,SplashSlice_03.png,SplashSlice_04.png

然后再代码实现如下:

// SplashScene.cpp

// DontSaveMeGame

//

// Created by Mr Gan on 1/2/15.

//


#include"SplashScene.h"

#include "StartScene.h"

#include "../VisibleRect.h"


SplashScene::SplashScene()

{

}

SplashScene::~SplashScene()

{

_vcSprites.clear();


}


bool SplashScene::init()

{


if (!Scene::init())

{

return false;

}


for (int i = 0; i < 4; ++i)

{

auto fileName = String::createWithFormat("SplashSlice_0%d.png",i + 1);

auto sp = Sprite::create(fileName->getCString());

sp->setAnchorPoint(Vec2(0.5f,1.0f));

sp->setPosition(VisibleRect::top().x,VisibleRect::top().y - i * 200);

this->addChild(sp);

_vcSprites.pushBack(sp);


}

auto move1 = MoveBy::create(0.5,Vec2(0,-200));

auto move2 = MoveBy::create(0.5,200));


auto fun = cocos2d::CallFunc::create(CC_CALLBACK_0(SplashScene::afterFirst,this));

auto seq = Sequence::create(move1,fun, NULL);

_vcSprites.at(0)->runAction(seq);

_vcSprites.at(1)->runAction(move2);

return true;

}


void SplashScene::update(float dt)

{

auto scene = StartScene::create();

Director::getInstance()->replaceScene(scene);

}


void SplashScene::afterFirst()

{

auto move1 = MoveBy::create(0.5,200));

auto fun = cocos2d::CallFunc::create(CC_CALLBACK_0(SplashScene::afterSecond, NULL);

_vcSprites.at(0)->runAction(seq);

_vcSprites.at(2)->runAction(move2);



}


void SplashScene::afterSecond()

{

auto move1 = MoveBy::create(0.5,200));

auto delay = DelayTime::create(0);


auto fun = cocos2d::CallFunc::create(CC_CALLBACK_0(SplashScene::beginGame,this));

auto seq = Sequence::create(move1,delay,NULL);

_vcSprites.at(0)->runAction(seq);

_vcSprites.at(3)->runAction(move2);


}



void SplashScene::beginGame()

{

auto scene = StartScene::create();

auto tranScene = TransitionZoomFlipX::create(2.0f,scene,TransitionScene::Orientation::LEFT_OVER);

Director::getInstance()->replaceScene(tranScene);


}

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...