给预制件设置动画无法通过play播放

cocos 3.8.1版本,
给预制件设置的动画无法通过play播放。
play()中,加动画名,不加,带后缀都检查过,没用。
给Play on Load 勾选上,动画能正常播放。
但是通过代码调用就无法执行了。
image
image
image
网上搜到了一个有点类似的问题,他的解决办法是paly要放到start函数钩子中才能执行,我完全没法理解,我不是要一开始就执行,是需要触发条件触发执行动画。

该问题已经解决,是因为die中延时太快,没播放完就注销掉了节点导致的。

但是现在遇到了另外一个问题,所谓的不能再回调中创建和销毁刚体。我实在是不太懂啊!
如下是报错信息。
image
下面是报错代码位置,很离谱明明正常跑了一下午了,晚上再看就报错了,这里说的不能在回调中创建和销毁刚体,这个回调指的是start函数吗,不能在start中做那要咋做,抽离出来吗,好像是一样的吧还是得在start中调用。
image