cocos2dx实现加载页loading页,加载进度条和加载字样
来源:互联网 发布:中国经济畸形 知乎 编辑:程序博客网 时间:2024/05/18 01:07
使用VS2013实现加载页,包括加载进度条和加载字样,详细代码如下:
LoadingLayer.h:
#include <stdio.h>
#include "cocos2d.h"
#include "OnlyOneShotUtils.h"
using namespace cocos2d;
class LoadingLayer : public Scene {
public:
static Scene* createScene();
CREATE_FUNC(LoadingLayer);
void callback();
public:
virtual bool init();
static Sprite* getSprite(std::string pStr);
};
#endif
LoadingLayer.cpp:
#include "LoadingLayer.h"
#include <MainScene.h>
#include "GameData.h"
Scene* LoadingLayer::createScene(){
auto scene=Scene::create();
auto layer=LoadingLayer::create();
scene->addChild(layer);
return scene;
}
bool LoadingLayer::init()
{
if (!Scene::init()) {
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();auto spriteLoading = Sprite::create("loading.png");//创建精灵 加载页
auto sprite_jiazai1 = Layer::create();//创建加载页layer
sprite_jiazai1->addChild(spriteLoading);//把加载页图片放进layer中
// position the sprite on the center of the screen 设置精灵的位置在屏幕的中心
spriteLoading->setPosition(Vec2(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
//设置layer位置坐标
sprite_jiazai1->setPosition(Vec2(0, 0));
// add the sprite as a child to this layer 添加一个精灵到layer层
this->addChild(sprite_jiazai1, 0);
//创建一个精灵 加载字样
auto jiazaiA = Sprite::create("1.png");
//设置坐标
jiazaiA->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 5-50));
//添加到当前层
this->addChild(jiazaiA);
//创建序列帧动画
auto animation = Animation::create();
//设置动画名字数组的长度
char nameSize[20] = { 0 };
//动画的循环 2张图片
for (int i = 1; i < 3; i++)
{
//循环遍历
sprintf(nameSize, "%d.png", i);
//添加到序列帧动画
animation->addSpriteFrameWithFile(nameSize);
}
//设置动画帧的时间间隔
animation->setDelayPerUnit(0.30f);
//设置播放循环 一直播放为 -1
animation->setLoops(-1);
//设置动画结束后到第一帧
animation->setRestoreOriginalFrame(true);
//创建动画动作
auto animate = Animate::create(animation);
//播放动画
jiazaiA->runAction(animate);
auto cutAction = CallFunc::create(CC_CALLBACK_0(LoadingLayer::callback, this));//callback 进入下一个scene的方法
CCFiniteTimeAction* action2 = CCSequence::create(CCDelayTime::create(2), cutAction, NULL);
sprite_jiazai1->runAction(action2);
//-------------------------------------------------------------------------------------
//1.进度条
auto loadBkSpr = CCSprite::create("1L.png");//加载进度条的边框精灵
loadBkSpr->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2 - visibleSize.height / 4-120));
//loadBkSpr->setScale(1.0f);//设置比例
this->addChild(loadBkSpr);
auto loadBar = CCProgressTimer::create(CCSprite::create("2L.png"));
loadBar->setPercentage(1.0f); //设置百分比,初始为0
loadBar->setPosition(ccp(visibleSize.width / 2, visibleSize.height / 2 - visibleSize.height / 4-120));
loadBar->setType(kCCProgressTimerTypeBar);//设置进度条为水平类型
loadBar->setBarChangeRate(ccp(1, 0));//设置进度条的宽高变化,此处为宽度变化
loadBar->setMidpoint(ccp(0, 0));//设置动画运动方向从左至右
//loadBar->setScale(3.0f);设置比例
this->addChild(loadBar);
//设置一个动作,令进度条2秒内读取到百分之100
CCProgressTo * action = CCProgressTo::create(2, 100);
//加载完毕.移除加载动画,进入游戏场景
loadBar->runAction(action);
return true;
}
void LoadingLayer::callback(){
//Main();
Director::getInstance()->replaceScene(MainScene::createScene());
}
- cocos2dx实现加载页loading页,加载进度条和加载字样
- Cocos2dx 3.x 资源加载进度条Loading...
- Cocos2dx 3.0资源加载进度条Loading...
- unity3d实现Loading进度条异步加载场景
- Cocos2dx 3.0 过渡篇(十)资源加载进度条Loading...
- Cocos2dx 3.0 过渡篇(十)资源加载进度条Loading...
- Cocos2dx 3.0 过渡篇(十)资源加载进度条Loading...
- 加载Loading进度条效果1
- 加载Loading进度条效果 2
- 加载Loading进度条效果 3
- Unity中loading页加载的实现
- jquery实现进度条无百分比动画loading页面加载特效
- [Unity]异步加载场景和流畅loading进度条制作
- echarts loading加载页&工具栏
- ajax 实现加载进度条
- js实现进度条加载
- 实现网页加载进度条
- cocos2dx异步加载资源制作Loading界面
- 职业规划-毕业两年工作现状
- The security key for this program currently stored on your system does not appear to be valid for th
- 从0开始学习 GitHub 系列之「03.Git 速成」
- Go语言学习笔记(2)-变量,指针
- 使用 Setup 将Python 代码 打包
- cocos2dx实现加载页loading页,加载进度条和加载字样
- 让不确定高度的div中的标签都垂直居中显示
- android中string.xml中%1$s、%1$d等的用法
- 玩转Eclipse
- sqlite3_get_table 使用举例
- 生成对抗网络(GAN)的理论与应用完整入门介绍
- Git使用手册:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
- 兼容问题
- css(四)---背景图片和其他小功能