之前老项目是cretor 2.2.1版本, 升级到2.3.2后 项目中一个spine资源为3.6.50版本, 放入编辑器场景中, 模拟器预览就闪退. 报错信息在下方. 网页版可以显示, 但显示效果也有点问题.
升级到2.3.3问题照旧.
将有问题的资源用spine3.8.x重新导出,放入编辑器中模拟器预览, 正常, 不闪退.
根据报错是在 ContainerUtil.h 的49行, findWithName(Vector<T*>& items, const String& name) 方法,
assert(name.length() > 0) 断言导致.
弱弱的问一下, 为啥引擎中要有这么多断言啊, 参数或资源有问题, 不处理不就可以了, 或者报个错, 动不动就闪退体验太差了吧~ 而且很难查到是哪个资源有问题, 只能将场景中所有的spine按个排查.
-
Creator 版本:2.3.2, 2.3.3
-
目标平台: Android / 模拟器
-
详细报错信息,包含调用堆栈:
Simulator: Assertion failed: (name.length() > 0), function findWithName, file /Users/nantas/jenkins/workspace/Creator_2D/cocos2d-x-lite/mac/cocos2d-x-lite/cocos/editor-support/spine/ContainerUtil.h, line 49 -
重现方式:将spine资源拖入场景, 模拟器运行, 闪退
-
出现概率:100%
-
额外线索:测试工程已上传
spine_3_6_test.zip (1.6 MB)