如何提高cocos2d-x-spine骨骼动画加载速度
2个回答
2016-05-28
展开全部
下面分2点来说:
1、
时间消耗点:io和现场解析
解决方案:加载过的骨骼动画就不要每次重新加载,不要每次都去加载json文件和atlas,我推荐使用
static CCSkeletonAnimation* createWithData (SkeletonData* skeletonData)
这就需要你把解析SkeletonData数据保存起来。
static CCSkeletonAnimation* createWithFile (const char* skeletonDataFile, Atlas* atlas, float scale = 1);
这个方法又要加载文件又要现场解析atlas和json,所以会慢很多。
2、
时间消耗点:Json解析。
解决方案:尽量共用骨骼(json是骨骼描和动画描述文件,altas是图集文件)文件,也就是尽量让多个atlas对应同一个json,但是这个度要自己掌握,json文件大小不要超过2mb。然后把这个json预解析,这就需要我们创建一个新的方法,把这个
SkeletonData* SkeletonJson_readSkeletonData (SkeletonJson* self, const char* json)
改成
SkeletonJson_readSkeletonDataWithJson(SkeletonJson* self, Json* json)
你解析好的Json从哪里来,那就要用
Json_create()
1、
时间消耗点:io和现场解析
解决方案:加载过的骨骼动画就不要每次重新加载,不要每次都去加载json文件和atlas,我推荐使用
static CCSkeletonAnimation* createWithData (SkeletonData* skeletonData)
这就需要你把解析SkeletonData数据保存起来。
static CCSkeletonAnimation* createWithFile (const char* skeletonDataFile, Atlas* atlas, float scale = 1);
这个方法又要加载文件又要现场解析atlas和json,所以会慢很多。
2、
时间消耗点:Json解析。
解决方案:尽量共用骨骼(json是骨骼描和动画描述文件,altas是图集文件)文件,也就是尽量让多个atlas对应同一个json,但是这个度要自己掌握,json文件大小不要超过2mb。然后把这个json预解析,这就需要我们创建一个新的方法,把这个
SkeletonData* SkeletonJson_readSkeletonData (SkeletonJson* self, const char* json)
改成
SkeletonJson_readSkeletonDataWithJson(SkeletonJson* self, Json* json)
你解析好的Json从哪里来,那就要用
Json_create()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询