我有两个布局文件:ui1.ExportJson和ui2.ExportJson都使用了out.plist中的bg.png,在代码中先后加载ui1.ExportJson和ui2.ExportJson布局,造成的情况是out.plist对应的out.png被加载两次,这样非常浪费内存,因为在SpriteFrame中已经有bg.png了,在加载ui2.ExportJson时直接使用不就好了?而cocosBuilder不会发生这样的情况,还是说cocostuido已经有这样的功能,是我不知道?
补充一下:ui编辑器导出时使用的是导出全部画布 + 全部大图,导出后就ui1.ExportJson、ui2.ExportJson和plist还有png
你好,你这里的问题是由于你没有做资源的管理。
您可以参考:
http://www.cocoachina.com/bbs/read.php?tid=164363
http://www.cocoachina.com/bbs/read.php?tid=195822(1.3.0.0版本)
建议参考一下,可以解决这个问题。
我看了cocostudio中的场景编辑器的例子,asset中存放的都是小图,那如果大图呢?
我看过cocostudio加载ExportJson的代码,如果文件中Textures有plist文件,是会加载文件的。如果两个ExportJson都用了一个plist文件,岂不是要加载两次?
只要保证使用的是同一个大图,则只会加载一次。这个是因为cocos2d-x是用路径+文件名当做字典索引,一旦加载过了就不会再次加载。