cocos2d-x 3.6版loading界面

接着讲资源加载。

前面一节讲了怎么用一个图片创建一个背景。其实就是创建一个精灵。在cocos2d-x里面,背景,人物,道具,看到的许多对象其实都是一个精灵。

资源加载的时候通常会做一个loading的界面,告诉用户,现在在加载资源。当然有很多同学写教程,只写如何实现loading界面,怎么加载资源并没有写,这是不全面的。

我先讲如何完成一个loading界面。

把loading的图片放进工程,在Resources.h里面增加索引。

然后修改StartGame的init函数如下:

bool StartGame::init()
{
    // 先调父类的init函数
    // 这里可以知道,init()函数是一个继承下来的函数,而且是一个虚函数,子类可以重写这个函数
    if ( !Layer::init() ) {
        return false;
    }

    // 获取屏幕可视区域
    Size visibleSize = Director::getInstance()->getVisibleSize();

    // 创建一个loading的图标
    auto loading = Sprite::create(s_loading_logo);

    // 设置位置为中心位置
    loading->setPosition(visibleSize.width / 2, visibleSize.height / 2);

    // 添加到当前层
    addChild(loading);

    // 设置初始透明图
    loading->setOpacity(50);
    // 一个由暗到明的动画
    auto fadeIn = FadeIn::create(3);
    // 创建一个一直重复的动画
    loading->runAction(RepeatForever::create(Sequence::create(fadeIn, fadeIn->reverse() ,NULL)));

    return true;
}

看到,先创建一个loading的精灵,这个和创建背景是一样的。然后给它一个动画,这个动画由好几个动作组成。

首先是一个由暗到明的动画,注意,要实现这个动画,必须先设置一个透明度,不然没有变化,因为loading精灵默认出来就是亮的。

然后翻转这个动画,然后用这两个动画创建一个序列动画,就是先变亮再变暗。然后用这个序列动画创建一个重复播放的动画RepeatForever。

好了,就是这样。

loading界面实现了,下一节讲如何loading的时候后台加载资源。

时间: 2024-10-27 03:55:49

cocos2d-x 3.6版loading界面的相关文章

青瓷引擎使用心得——修改引擎的loading界面

一. 修改引擎的Loading界面之使用进度条显示1. 双击打开引擎包中的lib/qc-loading-debug.js,如下图所示: 2. 只需要修改qici.init函数即可改变loading界面.2.1 修改qici.init函数中的loadScript函数,该函数主要完成脚本加载功能,修改后的代码如下: 1 // 加载脚本文件,其中qici.scripts.length为总的脚本长度 2 function loadScript() { 3 4 var totalCount = qici.

cocos2d-x 3.0 Loading界面实现

这个世界每一天都在验证我们的渺小,但我们却在努力创造,不断的在这生活的画卷中留下自己的脚印,也许等到我们老去的那一天,老得不能动只能靠回忆的那一天,你躺在轮椅上,不断的回忆过去,相思的痛苦忘不了,相恋的甜蜜浮现在心头,嘴角不觉一笑,年少时的疯狂,热情,理想和抱负,都随着岁月的流去而化作人生的财富,或多或少,犹如那夕阳西下的余辉,在慢慢消失着不见.. (不文艺你会死?) 好吧,最近天天在忙着写游戏,天天写,而且效率还不高,光这两天想着怎么优化和控制敌人出现的逻辑和地图数据的存储,就前前后后墨迹了俩

Cocos Creator—定制H5游戏首页loading界面

Cocos Creator从1.0版本发布到现在也有一年多了,按理说一些常见的问题网上都有解决方案,例如"如何自定义首页加载进度条界面"这种普遍需求,应该所有人都会遇到的,因此也有完善的解决方案才对.我在网上搜了一些文章,虽然也有讨论的帖子,但是方案都不尽人意.因此只能再次自己动手丰衣足食了,在此我总结一下我的思路和策略,分享给大家,希望后来的人少走弯路,另外这里的方案只针对H5游戏发布,其他平台可以借鉴思路自己实现. 首页加载的loading界面,官网的文档并没有提及,我是通过构建发

手机商城第一天 loading界面,主界面与baseFragment的创建,Bufferknife的使用

之前的手机影音经过这2天的总结,又从新掌握了不少之前忘记的知识,加深了对于知识的印象,下面的这个是一个新的项目,商城APP,有用到很多旧的知识,当然又有很多新的知识等着我去挑战.学习. 代码托管到码云上,有兴趣的可以去下载看看 https://git.oschina.net/joy_yuan/ShoppingMall 1.创建loading界面 loading界面说白了就是一个简单布局的activity,在这个activity的oncreate方法里,利用handler发送一个延迟2秒的inte

手游产品经理初探(二)从营销角度看loading界面

近期開始写产品相关的专题,准备从细节入手去思考.总结一些不为人注意的细节地方. 今天给大家分享的是游戏里面都有的loading界面. 还是从几个在Facebook上排名靠前的Casino游戏的loading界面说起 1.我们来看BigFish Casino游戏的loading界面,首先logo的标志为了加强用户对于品牌的记忆,属于强制用户加强印象,旁边的筹码一直申明此款游戏是Casino类的游戏. 这是如今绝大多数游戏惯用的方法,但整个loading是精巧的.给人非常呆板的感觉.这或许就是我认为

cocos2dx loading界面 预加载资源 与 资源释放

预加载图片: 1.CCTextureCache::sharedTextureCache()->addImage("icon.png"); 2.CCTextureCache::sharedTextureCache()->addImageAsync("icon.png",this,callfuncO_selector(MainLayerLoading::loadingCallBack)); 使用加载的缓存图片: CCSprite* sp =CCSprite:

产品经理初探(二)从营销角度看loading界面

最近开始写产品相关的专题,准备从细节入手去思考.总结一些不为人注意的细节地方.今天给大家分享的是游戏里面都有的loading界面. 还是从几个在Facebook上排名靠前的Casino游戏的loading界面说起 1.我们来看BigFish Casino游戏的loading界面,首先logo的标志为了加强用户对于品牌的记忆,属于强制用户加强印象,旁边的筹码一直申明此款游戏是Casino类的游戏.这是现在绝大多数游戏惯用的方法,但整个loading是静止的,给人很呆板的感觉.这也许就是我觉得不足之

10分钟,利用canvas画一个小的loading界面(顺便讨论下绘制效率问题)

首先利用定义下canvas得样式 <canvas width="1024" height="720" id="canvas" style="border: 1px solid #808080;display: block;margin: 100px auto;>你的游览器不支持canvas</canvas> 这里主要要说的就是宽高,不要在style里面定义,不然会被拉伸.(对于这点,建议大家看下W3c文档,不是很

10分钟,利用canvas画一个小的loading界面

首先利用定义下canvas得样式 <canvas width="1024" height="720" id="canvas" style="border: 1px solid #808080;display: block;margin: 100px auto;>你的游览器不支持canvas</canvas> 这里主要要说的就是宽高,不要在style里面定义,不然会被拉伸.(对于这点,建议大家看下W3c文档,不是很