自学 Cocos JS 之 资源加载的那点事

boyanx2周前技术教程4

这期的内容应该更偏向于程序。

个人认为Cocos Creator对资源的加载分为两种:静态加载和动态加载。

静态加载

所谓静态加载,说白了就是直接在Creator编辑器里拖拖拉拉,给各种节点托入图片,声音,预制体(prefab),动画,脚本等资源。

优点是:

  • 简单,可以直接产出
  • 所见即所得
  • 不需要管理资源的加载和释放,一切交给系统

缺点是:

  • 不能动态更改资源
  • 一旦把所有资源都预先挂在节点上,内存开销会增加
  • 流程会变的复杂,如果更改(添加,删除,修改)了一个资源就要在编辑器操作一下,复杂的流程会增加出错的概率,增加定位BUG的难度

上图中脚本ConfigMgr的作用是在游戏启动的时候将所有Json配置表一次性加载到游戏中,所有Scene通用。

动态加载

所谓动态加载,就是UI布局上只留一个节点(可以有资源也可以没有资源),通过代码在需要添加/更改资源的时候加载资源。

优点是:

  • 节省内存,在需要资源的时候加载对应的资源
  • 定位BUG简单,直接调试就能找到问题所在

缺点是:

  • 需要通过编码实现
  • 不仅要处理加载,还要处理卸载
  • 不能所见即所得

上图是动态加载龙骨的一个测试用例

  1. 新建场景,添加名为hero的空节点用来存放主角
  2. hero节点添加DragonBones组件
  3. 场景Canvas挂Player脚本
  4. 把hero节点拖到Player脚本中,赋值给PlayerDragonBone变量

上图就是Player.js脚本的内容

上图是浏览器中运行的效果图。

注意事项

需要动态加载的资源,

必须将资源放在assets/resources/下

必须将资源放在assets/resources/下

必须将资源放在assets/resources/下

重要的事情说三遍,我就是因为路径问题折腾了一天时间。

结语

对资源的加载一定要合理运用

就比如Player.js脚本,不应该把资源的名称写在代码里,应把资源名放在Json里,然后通过ConfigMgr.js查找对应的配置读取出来。静态读配置动态加载资源。

只有合理运用资源的静/动态加载才能实现收益的最大话。

标签: aplayer.js

相关文章

美移民新规提案公开评议期结束 19万人评论反对居多

');var player = videojs('mini_player');}/*START#ShouJiBan-http://video.chinanews.com/tvmining//News/...

超好看 vue2.x 音频播放器组件Vue-APlayer

上篇文章给大家分享了视频播放器组件vue-aliplayer,这次给大家推荐一款音频插件VueAplayer。vue-aplayer 一个好看又好用的轻量级 vue.js 音乐播放器组件。清爽漂亮的U...

小白也能轻松搭建和使用iptv直播

IPTV-API 安装与使用教程,手把手教会你以下一共4种安装运行方式,选择一种适合您的即可。工作流部署(自动更新)一.进入Githubhttps://github.com登录或注册你的Github账...

Wordpress建站教程:Slider Revolution插件导致后台慢,怎么解决

作者:悦然wordpress建站(悦然建站)(此处已添加小程序,请到今日头条客户端查看) 继续分享wordpress建站教程。Slider Revolution插件的幻灯动画功能非常强大,它基本上就是...

顶级播放器:foobar2000 v1.3.6汉化版下载

IT之家(www.ithome.com):顶级播放器:foobar2000 v1.3.6汉化版下载IT之家讯 12月12日消息,著名免费专业音乐播放器foobar2000已经更新到了1.3.6 Fin...

Node-Media-Server开源流行Nodejs流媒体服务器

简介Node-Media-Server一个 Node.js 实现的RTMP/HTTP/WebSocket/HLS/DASH流媒体服务器。开源github地址:https://github.com/il...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。