调用cc.director 切换场景的时候会报错,不是每次都能出现 有时候正常有时候会报错 ,但是多切几次以后一定会报错 而且是之前切过的正常的场景,报错后页面会卡死了 但资源加载会继续进行 也能听到下一个场景的开场音效
PS:个人判断是资源加载释放的问题 但这种时有时无 不是特定某一个资源的问题,应该是流程问题 不知道怎么下手,请大家帮帮我~小弟在这儿谢谢了!
发生异常: TypeError
TypeError: Cannot read property ‘load’ of null
at cc_SpriteFrame.214.proto.hasEventListener (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:33664:37)
at cc_SpriteFrame.134.proto.on (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:23952:17)
at cc_SpriteFrame.134.proto.once (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:23979:12)
at cc_Sprite.onEnable (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:20784:31)
at cc_Sprite.onEnable (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:30912:34)
at CCClass.invokeOnEnable [as _invoke] (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:15408:20)
at CCClass.invoke (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:15320:14)
at CCClass.activateNode (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:27761:25)
at cc_Scene._activate (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:11644:36)
at 51.cc.Director.runSceneImmediate (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:9417:15)
猜测你是在场景切换时有对象的销毁或创建,而且是异步的,反复快速切换时,操作到了被销毁或未创建的对象了!
注意一个问题,看你的日志中,有 on\once 在切换场景时在 onDestroy 时,需要将节点的事件监听函数清空 node.targetOff 或 node.off
希望能帮助到你