Creator3.4.2 Uncaught TypeError: Cannot read properties of null (reading 'off')

  • Creator 版本:3.4.2

  • 目标平台: Android 和 web

  • 报错信息

base-node.ts:1108 Uncaught TypeError: Cannot read properties of null (reading ‘off’)
at Node.off (base-node.ts:1108:30)
at Skeleton.onDisable (renderable-2d.ts:328:19)
at Skeleton.onDisable (skeleton.ts:1301:9)
at ComponentScheduler.disableComp (component-scheduler.ts:439:22)
at NodeActivator.destroyComp (node-activator.ts:266:42)
at Skeleton._onPreDestroy (component.ts:387:42)
at Skeleton._destroyImmediate (object.ts:364:18)
at Function._deferredDestroy (object.ts:181:21)
at Director.tick (director.ts:704:26)
at callback (game.ts:798:26)

这个是咋回事呢,查看log看到 Skeleton 的node信息不合法

Andoid上表现:
2022-09-02 15:16:26.804 22254-22280/test.com.pk3v E/jswrapper: ERROR: Uncaught TypeError: Cannot read property ‘71’ of null, location: src/cocos-js/instantiated-6ddad14f.js:0:0
STACK:
- [0]get hasChangedFlags@src/cocos-js/instantiated-6ddad14f.js:35557
- [1]anonymous@jsb-adapter/jsb-engine.js:4470
- [2]anonymous@jsb-adapter/jsb-engine.js:4506
- [3]anonymous@src/cocos-js/cc.js:65920
- [4]postUpdate@src/cocos-js/cc.js:65919
- [5]tick@src/cocos-js/instantiated-6ddad14f.js:48472
- [6]callback@src/cocos-js/instantiated-6ddad14f.js:47891
- [7]tick@jsb-adapter/jsb-builtin.js:601
2022-09-02 15:16:26.804 22254-22280/test.com.pk3v E/Cocos: 15:16:26 [ERROR]: [ERROR] file /Users/neo/Documents/workSpace/Creator/poker3-no.3-vertical/poker3-3-vertical/native/engine/common/Classes/Game.cpp: line 54
2022-09-02 15:16:26.804 22254-22280/test.com.pk3v E/Cocos: 15:16:26 [ERROR]:
Uncaught Exception:
- location : (see stack)
- msg : Uncaught TypeError: Cannot read property ‘71’ of null
- detail :
- [0]get hasChangedFlags@src/cocos-js/instantiated-6ddad14f.js:35557
- [1]anonymous@jsb-adapter/jsb-engine.js:4470
- [2]anonymous@jsb-adapter/jsb-engine.js:4506
- [3]anonymous@src/cocos-js/cc.js:65920
- [4]postUpdate@src/cocos-js/cc.js:65919
- [5]tick@src/cocos-js/instantiated-6ddad14f.js:48472
- [6]callback@src/cocos-js/instantiated-6ddad14f.js:47891
- [7]tick@jsb-adapter/jsb-builtin.js:601
2022-09-02 15:16:26.804 22254-22280/test.com.pk3v D/jswrapper: JS: [ERROR]: 09-02 15:16:26 804S[ERROR]:(see stack)Uncaught TypeError: Cannot read property ‘71’ of null - [0]get hasChangedFlags@src/cocos-js/instantiated-6ddad14f.js:35557
- [1]anonymous@jsb-adapter/jsb-engine.js:4470
- [2]anonymous@jsb-adapter/jsb-engine.js:4506
- [3]anonymous@src/cocos-js/cc.js:65920
- [4]postUpdate@src/cocos-js/cc.js:65919
- [5]tick@src/cocos-js/instantiated-6ddad14f.js:48472
- [6]callback@src/cocos-js/instantiated-6ddad14f.js:47891
- [7]tick@jsb-adapter/jsb-builtin.js:601
2022-09-02 15:16:26.806 22254-22280/test.com.pk3v D/jswrapper: JS: [ERROR]: 09-02 15:16:26 806S[ERROR]:Uncaught TypeError: Cannot read property ‘71’ of null


node 不合法

找到问题了,动画执行完执行了 动画的onDestory(), 然后在下一帧执行了场景的销毁onDestory()。