【转】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. C# 对List<T>取交集、连集及差集

    1. 取交集 List A :{1,5,9,3,7} List B:{1,6,8,5,3,2,9,4} var intersectedList = listA.Intersect(listB, new ...

  2. 网络数据包收发流程(三):e1000网卡和DMA

    一.硬件布局每个网卡(MAC)都有自己的专用DMA Engine,如上图的 TSEC 和 e1000 网卡intel82546.上图中的红色线就是以太网数据流,DMA与DDR打交道需要其他模块的协助, ...

  3. CentOS进程管理

    Linux系统中的基本运行单位是进程,通过对系统系统中的进程的管理能够对系统的实时运行状态进行了解和调度.Linux中提供了用于查看.调整和停止进程的命令.本文仍然以RHEL6说明Linux系统的进程 ...

  4. 根据 url请求数据

    public static JSONObject getJsonFromUrl(String url){ CloseableHttpClient httpClient = HttpClients.cr ...

  5. aptitude解决Ubuntu各种依赖问题

    转自:http://allog.ml/linux/aptitude%E8%A7%A3%E5%86%B3ubuntu%E5%90%84%E7%A7%8D%E4%BE%9D%E8%B5%96%E9%97% ...

  6. php 单引号 双引号 ,php字符串/ hmtl / 数据库显示/ 及php的几个转化函数

    * 以单引号为定界符的php字符串,支持两个转义\'和\\* 以双引号为定界符的php字符串,支持下列转义(\'会直接输出\' ,也会转义 \\):    \n 换行(LF 或 ASCII 字符 0x ...

  7. iphone field test 源码

    Iphone工程模式读取周围BTS信息的路测程序:包括后台和界面.-iphone field test, used for reading the BTS infomation nearby. 下载地 ...

  8. Autocad 常用命令

    一律使用的简写 1:将多条线段合并成一条多线段[pe] 2:如果发现合并的多线段将自己不想合并的区域合并进去了,别担心,炸开就行了 [x] 3:如果画的线段太长工作区不适应,使用缩放命令.[scale ...

  9. How to Failover the ‘Cluster Group’

    If you have more than two nodes in the cluster, you can specify the destination node with the follow ...

  10. R中,去掉dataframe中的NA行

    R中使用complete.cases 和 na.omit来去掉包含NA的行 现在有个一data.frame  datafile如下所示 Date        sulfate nitrate ID 1 ...