在 @
http://www.cocoachina.com/bbs/u.php?action=feed&uid=387086 的这个帖子(http://www.cocoachina.com/bbs/read.php?tid=265757)中有讲到
— Begin quote from ____
引用楼主东扬冬阳于2014-11-19 13:16发表的 【教程】CocosStudio2.x发布的资源在2d-x中的使用简介 :
3.资源的预加载
— End quote
。(
http://www.cocoachina.com/bbs/u.php?action=feed&uid=359512 同学提出的)
一直以来Studio的UI界面都是没有提供资源异步加载的
但是UI里头用到的图片是可以用异步的方式预先加载到内存的。
TextureCache::getInstance()->addImageAsync(filename,callback)
可以用这个函数把图片都异步读到内存,然后再去加载UI
PS:3.2之前UI的加载速度是很慢的,3.2开始UI的加载速度已经大幅优化过了,现在加载UI主要消耗的时间在从内存读文件上。
1、为什么不提供资源异步加载呢?希望至少提供一个获取某个csd中所有使用到的图片路径的接口,不然就算我想使用TextureCache::addImageAsync方法加载,我也不知道我需要加载哪些图片,如果提供这个接口,就可以等待纹理准备完毕后,再解析控件
2、目前我使用的Cocos Studio版本是2.3.0.1,我记得有看到旧版本的编辑器是支持扩展自定义控件的(没用过旧版,上网搜索看到的),为什么在新版反而没有了呢?什么时候会加进去?
3、控件属性貌似不太全,拿button来举个例子,背景样式提供了三态的纹理配置,但有些情况我们不一定会都使用三张图片对应三个样式的,虽然编辑器可以取消按下和禁用态,取消后默认的点击效果是放大的(代码里就是根据button的_zoomScale值来决定放大还是缩小),但这个属性编辑器里却没有提供,要么改源码,要么就是找到每一个button单独设置,编辑器能否新增这个属性让我们自己设定或者是提供一个全局的配置项?
4、按钮的禁用态,很多时候我们是直接通过shader将按钮变为灰态来处理的,但编辑器或者代码里也没有这个功能,这个应该是非常常用的选项,而且可以节省一些不必要的的资源占用量
5、还是拿按钮来说,例如游戏里需要对每一个按钮都需要有点击音效,但编辑器和代码中也没有这项属性
当然以上的问题只要我们想,都可以通过修改代码来解决,这也是开源的好处,但是,很多常规性的功能能否直接在编辑器或者引擎中加入而不是开发者们自己来不断的填坑呢(编辑器不开源,也没法扩展,想填坑也无法填)?我们希望更多的精力是花在游戏的功能上而不是在为引擎填坑上,而且引擎每升级一次版本我们就得跟着迁移代码,这样真的很浪费时间,希望官方能够考虑这些建议