Cocos html5(v3.0rc2) 修改程序启动时的Loading加载页界面
问答Style:
1.Loading加载页什么时候调用的?
答:在cocos html5项目的main.js里调用的:代码如下:
cc.LoaderScene.preload(g_resources, function () {
cc.director.runScene(new MyScene());
}, this);
在CCLoaderScene.js文件中,可以找到cc.LoaderScene.preload函数,阅读函数代码内容:
cc.LoaderScene.preload = function(resources, cb){
var _cc = cc;
//如果_cc.loaderScene不存在的话,就创建一个cc.LoaderScene,并调用其init函数
//所以程序第一次启动,一定会创建这样一个加载Loading场景。
if(!_cc.loaderScene) {
_cc.loaderScene = new cc.LoaderScene();
_cc.loaderScene.init();
}
//加载resources里面的资源文件,也就是在resource.js里面定义的加载资源
_cc.loaderScene.initWithResources(resources, cb);
//显示加载界面给玩家
cc.director.runScene(_cc.loaderScene);
return _cc.loaderScene;
};
2.怎么自定义自己的loading界面?
答:进入CCLoaderScene.js文件中,由文件名可知,这个就是过渡下载的Loading页面。
文件位置在:.\frameworks\cocos2d-html5\cocos2d\core\scenes\CCLoaderScene.js
阅读该js文件的代码,就对Loading加载页也就有了一个了解。
该文件首先创建了Loading Scene,然后在init方法中创建了暗黑色的背景层(bgLayer),并添加到了Scene中。
继续跟踪代码cc._loaderImage,这里加载了一张base64编码的图片(也就是cocos html5一开始的那个Logo的图片现在要替换成我的Logo!!!)。
base64的Logo图片编码串是在.\frameworks\cocos2d-html5\Base64Image.js中定义的。
我找了张图片(150*150),在http://tool.css-js.com/base64.html网站上搞成了一个base64编码的串。
然后就是替换Base64Image.js文件中定义的cc._loaderImage的base64串。这样就替换成我自己的加载页的图片咯~
注意:如果加载页的图片过大,会把loading的加载进度的文字遮盖的。当时我搞个全屏的大图,结果悲剧了。
水过~