因为做工作总结需要,分析一下现有项目的一些基本架构供学习。
LoadHandler:loading基类,提供基本的enter\exit\update方法
LoadHandler_Node: 这里实现了onEnter方法,还提供了一个判断资源后缀名的方法,因为在两个子类中需要用到,所以在母类中实现了。
onEnter方法的具体实现:
cc.Director.getInstance().purgeCachedData();先清空缓存
cc.AnimationCache.purgeSharedAnimationCache();清空动画资源缓存
JS_GC:即JS自带的垃圾回收机制(garbageCollect),这里做强制调用。
然后,在游戏自带的计时机制触发时,判断是否需要向服务器上传数据。
接下来是针对每个需要使用loading界面的部分,进行子类的细化。
主菜单界面:用_isFinish标记加载任务是否完成,并在update函数中检测到此值为真时,替换页面(replaceScene);
游戏地图界面:加载地图所需资源,并打开显示Loading界面;
判断Loading是否结束有两个因素,其一,在update函数中逐个加载图片和动画资源,
附上加载图片的方式:
cc.TextureCache.getInstance().addImage(png); 把目标图片路径加入缓存;添加精灵帧,读取plist文件。
==========
wrapper/bindings.sh c++和JS文件绑定脚本 稍后分析
==========
其二,倒计时满一秒钟;
两个条件都满足时,跳转到目标scene