cocos creator使用模拟器运行项目切换场景时无限闪屏

  • Creator 版本:2.3.0

  • 详细报错信息,包含调用堆栈:报错如下
    Simulator: E/jswrapper (272): ERROR: Uncaught TypeError: this._effect.getHash is not a function, location: src/cocos2d-jsb.js:0:0
    STACK:
    [0]getHash@src/cocos2d-jsb.js:21834
    [1]TiledLayer._activateMaterial@jsb-adapter/jsb-engine.js:4320
    [2]__preload@src/cocos2d-jsb.js:27390
    [3]anonymous@(no filename):3
    [4]anonymous@src/cocos2d-jsb.js:23945
    [5]invoke@src/cocos2d-jsb.js:37594
    [6]activateNode@src/cocos2d-jsb.js:37696
    [7]_onHierarchyChanged@src/cocos2d-jsb.js:52371
    [8]_onHierarchyChanged@src/cocos2d-jsb.js:18708
    [9]setParent@src/cocos2d-jsb.js:52118
    [10]addChild@src/cocos2d-jsb.js:19509
    [11]onLoad@dst/assets/script/game.js:31
    [12]anonymous@(no filename):3
    [13]anonymous@src/cocos2d-jsb.js:23945
    [14]invoke@src/cocos2d-jsb.js:23895
    [15]activateNode@src/cocos2d-jsb.js:37697
    [16]_activate@src/cocos2d-jsb.js:19725
    [17]runSceneImmediate@src/cocos2d-jsb.js:17355
    [18]anonymous@src/cocos2d-jsb.js:17437
    [19]anonymous@src/cocos2d-jsb.js:40313
    at HTMLElement.print-simulator-log (D:\CocosCreator\resources\app.asar\editor\builtin\scene\panel\messages\scene.js:1:1608)
    at Object.e._dispatch (D:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\panel.js:1:1876)
    at EventEmitter. (D:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\ipc.js:1:2952)
    at EventEmitter.emit (events.js:194:13)
    at EventEmitter.emit (domain.js:469:20)
    at EventEmitter.topLevelDomainCallback (domain.js:124:23)

Simulator: E/jswrapper (562): [ERROR] (f:\jenkins\workspace\creator_2d\cocos2d-x-lite\windows\cocos2d-x-lite\cocos\scripting\js-bindings\jswrapper\v8\object.cpp, 562): Invoking function (085A4328) failed!
at HTMLElement.print-simulator-log (D:\CocosCreator\resources\app.asar\editor\builtin\scene\panel\messages\scene.js:1:1608)
at Object.e._dispatch (D:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\panel.js:1:1876)
at EventEmitter. (D:\CocosCreator\resources\app.asar\editor-framework\lib\renderer\ipc.js:1:2952)
at EventEmitter.emit (events.js:194:13)
at EventEmitter.emit (domain.js:469:20)
at EventEmitter.topLevelDomainCallback (domain.js:124:23)

项目中使用的是cc.director.loadscene()方法跳转场景,
在浏览器预览可以正常运行,另外构建微信小游戏在真机测试中也出现了不能切换场景的问题,想知道应该如何解决,求大佬帮忙看看

看起来像是材质资源被释放了,资源管理这块在排查一下~

你好,我在项目里每个场景出了UI节点其他的游戏资源都是以预制体资源的形式在代码中动态加载的,是不是这样的方式导致模拟器运行时的闪屏呢?我查看了手册发现里面关于预制体资源的加载与释放说明的不是很详细,请大大帮忙解惑,必要的话可以提供代码段

可以看下这些帖子,可以帮你理解下资源引用关系