【转】http://blog.csdn.net/et_sandy/article/details/41415047

环境:

win7 64位

Cocos2d-JS v3.1

Cocos Code IDE v1.0.0.Final

本文介绍的方法比较随意,另官方也有规范的教程:http://www.cocos2d-x.org/docs/manual/framework/html5/v2/customize-loading-screen/zh

在非web上进行测试,web版的话大家自己改改,本文后面也会介绍。

正文:

1.在main.js里面把这个方法

cc.LoaderScene.preload(g_resources, function () {
cc.director.runScene(new HelloWorldScene());
}, this);

改为(其实就是不用cc.LoaderScene.preload这个函数...):

//    cc.LoaderScene.preload(g_resources, function () {
cc.director.runScene(new HelloWorldScene());
// }, this);

2.在src下新建一个loading.js文件,然后在project.json里面注册

"jsList":[
"src/resource.js",
"src/app.js",
"src/loading.js"
]

3.在loading.js里面添加以下代码

var loadindLayer = cc.LayerColor.extend({//继承LayerColor,初始化的时候可以直接改背景颜色
a:0,//记录当前加载了多少个文件
ctor : function() {
this._super(cc.color(100, 0, 0, 255));
var size = cc.winSize;
//添加一个文本框显示
var l = new cc.LabelTTF("current percent : 0%", "Arial", 38);
//居中
l.x = size.width * 0.5;
l.y = size.height * 0.5;
this.addChild(l, 11, 12);
//加载文件的几种方式,特别是在cc.loader里面,还有好多种加载的函数,记得把加载的资源路径和文件名改掉
ccs.armatureDataManager.addArmatureFileInfoAsync("res/armatures/logo.png","res/armatures/logo.plist","res/armatures/logo.xml",this.loadCall,this);
cc.textureCache.addImage("res/armatures/robot.png",this.loadCall,this);
cc.loader.load("res/armatures/bg.jpg", this.loadCall,this);
},
loadCall : function() {
//每次调用进行计数
this.a ++;
//以tag的形式获取文本框对象
var subTile = this.getChildByTag(12);
//toFixed(2)意思是取小数点后两位,小数点后第三位为四舍五入
subTile.setString("current percent :" + (this.a / 3).toFixed(2) *100 + "%");
//加载完毕,貌似好多教程都是用百分比判断( >= 1 )
if (this.a == 3) {
//带翻页动画的场景跳转,第一个参数为动画的执行时间,第二个为跳到的场景,第三个为false时从右下角往左边翻页,true时左边往右边翻页
var trans = new cc.TransitionPageTurn(0.5, new HelloScene(), false);
cc.director.runScene(trans);
}
},
}); var HelloScene = cc.Scene.extend({
onEnter:function () {
this._super();
//加载app.js的layer
var layer = new HelloWorldLayer();
this.addChild(layer);
}
});

注意加载文件函数里面加载的文件要改为自己工程当前目录下的文件路径和文件名称

4.app.js里面最后的场景加载的layer改为loading的layer

var HelloWorldScene = cc.Scene.extend({
onEnter:function () {
this._super();
//自定义loading的layer
var layer = new loadindLayer();
this.addChild(layer);
}
});

最后看看效果:

5.web上的建议修改

不能用这个方法加载文件

ccs.armatureDataManager.addArmatureFileInfoAsync("res/armatures/logo.png","res/armatures/logo.plist","res/armatures/logo.xml",this.loadCall,this);

然后loading跳转后的场景里面用上的资源请在loading的时候加载

Cocos2d-JS 自定义loading界面的更多相关文章

  1. cocos2d JS 自定义事件分发器(接收与传递数据) eventManager

    简而言之,它不是由系统自动触发,而是人为的干涉 较多情况用于传递数据 var _listener1 = cc.EventListener.create({ event: cc.EventListene ...

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

    Cocos Creator从1.0版本发布到现在也有一年多了,按理说一些常见的问题网上都有解决方案,例如"如何自定义首页加载进度条界面"这种普遍需求,应该所有人都会遇到的,因此也有 ...

  3. SILVERLIGHT 应急卫生模拟演练项目之loading界面实现

    第一次在博客园写文章 俺是菜鸟 有不足之处还请大佬们多多指教 第一次也不知道该写啥 俺就拿自己最近做的一个项目 来细说吧 俺们公司是做医疗卫生方面的  其中有一块涉及到应急卫生模拟演练方面 这块分到我 ...

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

    一. 修改引擎的Loading界面之使用进度条显示1. 双击打开引擎包中的lib/qc-loading-debug.js,如下图所示: 2. 只需要修改qici.init函数即可改变loading界面 ...

  5. iOS开发——UI_swift篇&TableView自定义聊天界面

    TableView自定义聊天界面   1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 ...

  6. cocos2d-x游戏开发(十五)游戏加载动画loading界面

    个人原创,欢迎转载:http://blog.csdn.net/dawn_moon/article/details/11478885 这个资源加载的loading界面demo是在玩客网做逆转三国的时候随 ...

  7. LuaFramework热更新过程(及可更新的loading界面实现)

          1.名词解释: 资源包:点击 LuaFramework  |  Build XXX(平台名) Resource,框架会自动将自定义指定的资源打包到StreamingAssets文件夹,这个 ...

  8. FineReport中如何自定义登录界面

    在登录平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,内置登录界面如下图: 登录界面,获取到用户名和密码的值,发送到报表系统,报表服务带着这两个参数访问认证地址进行认证. ...

  9. 自定义loading效果

    结合Font Awesome字体图标自定义loading效果 Font Awesome字体图标地址:http://www.fontawesome.com.cn/faicons/ 使用javascrip ...

随机推荐

  1. DAO接口及实现类

    DAO接口中定义了所有的用户操作,如添加记录.删除记录及查询记录. package chapter13; import java.util.*; public interface UserDAO { ...

  2. 新冲刺Sprint3(第一天)

    一.Sprint介绍 sprint2已经结束了,现在准备进行新一轮的冲刺--sprint3.现在简单说下sprint3的情况,正在进行的有更新商品图片和浏览商家相关信息,还有就是APP测滑栏的完善.准 ...

  3. 多媒体视频(video)

    <video> 是 HTML 5 中的新标签.<video> 标签的作用是在 HTML 页面中嵌入视频元素.<video> 标签定义视频,比如电影片段或其他视频流. ...

  4. HTML结构文档中那些基础又重要又容易被忽略的事?

    HTML结构文档中那些基础又重要又容易被忽略的事? 大部分的人,总是会做出这样下意识地判断:简单就是不重要,容易就可以直接忽略掉!其实不然,简有精髓,基石必重,岂能略而不顾!HTML结构文档的编写,可 ...

  5. POI给Excel添加数字筛选

    HSSFSheet sheet = workbook.createSheet("list"); CellRangeAddress ce = CellRangeAddress.val ...

  6. python set集合操作

    set集合是一个无序且不重复的集合. 创建一个set集合: name = set('sdd') name 返回结果:{'d', 's'} add 功能:增加集合元素 name = {'d', 's'} ...

  7. Artificial-Intelligence BOOKs

    All of Statistics: A Concise Course in Statistical Inference The Elements of Statistical Learning:Da ...

  8. 【java】spring-data-jpa 集成hibernate实现多条件分页查询

    初次接触spring-data-jpa,实现多条件分页查询. 基础环境 Spring Boot+spring-data-jpa+hibernate+mysql 1.接口 要继承这个接口,这个接口提供了 ...

  9. 简单的Web留言本

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. pandas入门

    [原]十分钟搞定pandas   本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介 ...