播放动画中切换场景导致崩溃 引擎版本1.8.2

如题,在场景中循环播放一个动画(使用creator制作的.ani动画),然后只要切场景就会导致黑屏报错,并且之后的动画都无法播放。目前暂时解决的办法为在onDisable里停掉动画再切场景.

自己顶一下吧,这是个必现的问题,没人遇到过?

我艹,必现的错误竟然没有人遇到过?看来最近使用creator上线appstore的不多啊,难道都做棋牌去了?

试过了,并不会报错

额,没有啊,我一个场景上用了十几anim组件的动画都好好的 - -

我们之前遇到一个很诡异的情况, 在 onLoad 中执行一些操作会报各种诡异的错误, 但是 settimeout 到下一帧就可以了.

那你要不要试试在start里做操作呢。跟场景有关的操作不等场景加载完就执行是很容易报错的

在start里操作,别在onLoad操作

不是说有动画就报错,是动画要 循环播放,比如你在场景放一个节点,然后让这个节点循环播放一个动画,之后你不停止动画直接去切场景就报错了,之后的场景动画全部无法播放了。

你想解决问题就上传一个demo

就是循环播放的,一切正常,来回切几十遍也是没问题的

这个问题以前遇到过。当时我们在切换场景前停止也没用,后来索性去掉了

在onDisable里停止播放动画可以的,如果在onDestroy里停止仍然会有问题。

我们的开发者有重现不出任何 bug 的超能力,因此能麻烦你提供一个 demo 吗?谢谢!

1赞

AniLoopBug.zip (555.0 KB)

复现demo已经发送,感觉是因为切换场景时引擎没有先停止update就去销毁节点了。

可能是因为你使用的是AnimationState,直接用Animation播放就行了

这只是个简化的demo,我是在Update里根据一个标志来判断是否播放动画的,如果已经播放中就不需要再调用play 接口了,现在这问题很大几率是引擎在处理切换场景时没有有限把前一个场景的update停止掉。

我看你的代码了,你换成用Animation播放就没问题了,AnimationState可能有些额外操作

你的问题是出在AnimationState上了,得看引擎这块是咋管理的,和场景切换没关系,和update也没关系
你就算是不写在update里,直接在onLoad里用AnimationState播放,也会是你现在这样

你都使用了高级功能了,想自己多控制点,那就自己手动关闭:14:

2赞