3.4.2 BUG sp.skeleton.destroyRenderData报错

  • Creator 版本: 3.4.2

  • 目标平台: Google

  • 重现方式:运行下方附件项目

本来只是想处理offset问题。。是我用法不对么?
image


ex-for342.zip (1.7 MB)

应该是衍生问题,可以调用 destroyRenderData 前,将动画暂停试试。

emm 请问怎么暂停动画。。其实我昨天是有试过的 然而也是没用

能提供一个能调用destroyRenderData的示例嘛?

ex-for342.zip (38.6 KB)
情况不同,你这个我加了暂停的,你看看

嗯 确实可以了 但不是完全可以 项目里面我是这么操作的。
1.先按你的做法暂停动画 然后调用destroyRenderData
2.将sp.skeleton节点从父节点移除
3.将被移除的sp.skeleton节点重新加入到父节点(1到3步骤同一帧执行)
4.异步加载skeletonData资源并赋值给sp.skeleton 此时会较容易报offset错误。但如果在赋值前暂停动画并调用destroyRenderData是没问题的。

我也碰到这个问题 用以上解决方案 还是会报错


那试试这个

:joy: 是这么写的么?我是赋值前调用的 需要在同一帧内调用。

这个问题应该还会改吧。。感觉现在的做法都是“先保证能跑着先”。。

https://github.com/cocos/cocos-engine/pull/10370
试试这个修复pr 看会不会有问题,记得将原来调用 destroyRenderData 的地方删掉;

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。