升级到creator 1.8.1, mac 模拟器崩溃

直接注释引擎代码么,然后使用自定义引擎么?

我想知道的是即将发布的1.8.2的正式版会包含这个问题的fix么?

这个问题我们会再确认一下。不过 1.8.2 不会再改了

是的。

昨天忙了下,没来论坛看。十分感谢。

谢谢你的 demo,我查看了一下,动态来回切换骨骼,确实是会有崩溃问题。这个在调试版本中的断言引起的,如果是 release 版本就不会。
这里暂时不太好修复,因为 DB 的资源管理是自成一套的,引擎很难介入,更多的是需要用户手动调用 DB 底层 API 才行。
一个建议是,self.armatureDisplay.dragonAsset = asset; 之前,先执行 self.armatureDisplay._factory.clear(true);
这样就不会有问题了。

我看了你的 demo,出错原因也是一样的,请参考楼上的方式修改一下!

感谢jare大大。很感谢在论坛反应的问题都能得到官方回应。维护论坛耗费精力必定很多,赞一个

好的, 感谢, 可以先解决问题就好.
不过这里1.8.0的引擎是ok的, 所以这里的问题,肯定是最近的版本修改引起的

借问一下, creator版本和cocos2d-x-lite的版本是怎么对应的? 比如
creator1.8.1,对应的是cocos2d-x-lite tag1.7.1么?

debug.zip (891.9 KB)

麻烦再看下这个demo, 加了那句话,还是存在同样的问题。

在这里, 如果将addChild语句, 放在loadDraonBones之前, ms是正常的, 我想知道这里有没有什么说法

目前缺少 tag,之后有人力了,我们会顺手把 tag 加上的。目前你可以采用相同分支、相同日期,来对应版本。

你需要每次 self.armatureDisplay.dragonAsset = asset; 之前,先执行 self.armatureDisplay._factory.clear(true);

你需要**每次** self.armatureDisplay.dragonAsset = asset; 之前,先执行 self.armatureDisplay._factory.clear(true);

这里我每次赋值前, 都执行了clear。
point不在这里, 而是在addChild语句中, 它的位置不同, 会导致这个assert发生, 所以我想知道的是, 如果将addChild提前的话,会不会对我node的其它设置有影响

这里, 我看creatorv1.8.0启动打印的cocos2d-x-lite的版本是1.7.0, 所以这里对应的是v1.7还是v1.7-release? 不太理解你说的采用相同分支,相同日期来对应版本是什么意思

你后面的循环赋值了不止一次,要每一次都先 clear。
addChild 提前不影响。

不对啊, 这里虽然是for循环, 但是一个目录中仅有一套db。 不会发生重复加载的事情,

另外, 我刚才试了,将clear放在1的位置还是会assert, 放在2的位置,动画就不会动了

麻烦jare大大, down下我的demo在你的机器上跑一下, 就知道了。

引擎组,对于这个小问题,半个月都快过去了,就这样不管不问真的好么? 如果这样的话,哪还有用户会积极的提bug, 反正提了也没人管。
而且demo早就提供了, 顺手下载下来, 跑一下就知道是否存在问题了, 让您们看一眼就这么难?

我用你的 demo,按照我的方法修复后,就能成功运行了。
不然我也不会那样子回复。
也就是说,你需要改成

self.armatureDisplay._factory.clear(true);
self.armatureDisplay.dragonAsset = asset;

亲测有效。如果还不行,把 for 循环去掉,应该是赋值顺序错了。自己一个一个加载看看。

那真是奇了怪了, 我按你说的方法, 各种加载顺序都试了, 只要是最后一步addChild, 就必然崩溃。
这里是我的demo, debug.zip (898.1 KB)
或者您将你修改后的demo也发我一份, 我真的想不透还有哪个地方没有改到。