如何在加载bundle时重新加载脚本

在加载bundle后切换回初始场景,采用下面方式成功清除bundle资源缓存
bundle.releaseAll();
cc.assetManager.removeBundle(bundle);
采用下面方式成功清除脚本缓存

  • // save all registered classes before loading scripts
    • let builtinClassIds = cc.js._registeredClassIds;
    • let builtinClassNames = cc.js._registeredClassNames;
    • // load some scripts that contain CCClass
    • // clear all loaded classes
    • cc.js._registeredClassIds = builtinClassIds;
    • cc.js._registeredClassNames = builtinClassNames;
      */
      然而在下次加载bundle时,资源能成功加载,可是脚本不能被成功加载

有遇到过这个问题的嘛~~

你跟一下bundle加载流程就知道了
但是要重新加载脚本,怕是会有问题哦
否则热更还重启什么

脚本如果被载入过那就只能重启引擎,这点是毫无疑问的