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

cocos2dx3.2 实现splash屏幕简单实现,第1张

概述首先将splash,像素480 * 800大图如下图: 切成四个小图(480 * 200)命名:SplashSlice_01.png,SplashSlice_02.png, SplashSlice_03.png, SplashSlice_04.png 然后再代码实现如下: //  SplashScene.cpp //  DontSaveMeGame // //  Created by Mr Gan

首先将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);

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


}

总结

以上是内存溢出为你收集整理的cocos2dx3.2 实现splash屏幕简单实现全部内容,希望文章能够帮你解决cocos2dx3.2 实现splash屏幕简单实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1028611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存