第一篇的地址:
http://forum.cocos.com/t/cocoscreator-uiloader-0-0-1/54894
1.场景切换如何释放资源
如果涉及多个场景的切换,那么资源释放的时机也比较重要,如果释放不对,可能会造成纹理的丢失。那么使用 UILoader 可以避免这种问题。只需要在常驻节点上监听两个事件就好了。
cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LOADING, UILoader.beforeSceneLoading);
cc.director.on(cc.Director.EVENT_AFTER_SCENE_LAUNCH, UILoader.afterSceneLaunch);
可以看到,资源被释放的很干净。
2.如何使部分资源在一段时间内常驻内存,不释放。(本文写成静态资源)
在游戏中也会存在需要这个资源在一段时间内不要销毁。比如棋牌游戏开发中的麻将牌。那么 UILoader 也有方法提供这种机制。例如使用一张静态的纹理去更换纹理
onLoaderPrefabClick3 () {
let spriteNode = this.node.getChildByName("icon_sprite");
UILoader.loadStaticRes("HotProgress2", cc.SpriteFrame, "hall",(spriteFrame) => {
UILoader.replaceSpriteTexture(spriteNode, spriteFrame);
})
},
3. 如何释放静态资源。
在某个时候可能不需要使用静态资源了。比如。麻将游戏从游戏中切换到大厅,那么这个资源应该要释放掉。
UILoader.releaseStaticRes();
4. 播放音乐音效后,优雅 的是否资源。
在游戏中比如一个音效播放完了,可能不需要再使用。那么此时应该是否掉。音乐也是如此。
UILoader.playMusic(cc.url.raw("resources/man_0_chat_6.ogg"),true, 0.5);
UILoader.playEffect(cc.url.raw("resources/man_0_chat_5.ogg"), 0.5);
后面还会进行更新 UILoader, 请有意者保持关注。
最后附上 UILoader 开源地址
https://github.com/1083921307/UILoader
博客地址:




