使用cc.resources.load动态加载预制体背景图不显示的问题

使用cc.resources.load这个接口动态加载一个prefab,在谷歌浏览器上运行,有2张背景图不显示,在prefab挂载的脚步执行onload 时尝试 使用 cc.resources.load 再加载一次背景图设置到子节点的Sprite上仍然不显示。

换成xcode手机模拟器上运行时,会报错 ERROR: TypeError: undefined is not a constructor (evaluating ‘new assemblerCtor()’), location: ::
STACK:
get@src/cocos2d-jsb.4dc3b.js:34408:65

请教一下是什么问题?

  • Creator 版本:2.4.0

  • 目标平台: Web / iOS 模拟器

  • 详细报错信息,包含调用堆栈:TypeError: undefined is not a constructor (evaluating ‘new assemblerCtor()’), location: ::
    STACK:
    get@src/cocos2d-jsb.4dc3b.js:34408:65

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :macOS

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

之前有遇到类似的问题,可以帮忙提供个demo吗?我们确认下问题。

正在弄demo, 怎么发给你们呐

目前 浏览器问题已解决,在 onLoad 里,把没有显示的图片(显示的是一片黑)通过cc.resources.load加载后,在回调里用addRef引用计数加1,再设置到Sprite组件上,就显示正常了。 但是xcode 手机模拟器仍然有 [Info] CrashReport: Report exception: TypeError: undefined is not a constructor (evaluating ‘new assemblerCtor()’)
get@src/cocos2d-jsb.4dc3b.js:34408:65
src/cocos2d-jsb.4dc3b.js:34480:54 的报错

小文件,直接拖到编辑框上传就可以了

刚才抽空回顾这个模拟器报错问题,猜想可能是一个节点开启了3d导致的,因为在creator里原本一个节点是通过skew倾斜的,但是creator提示 cc.Node.skewX/Y is deprecated since v2.2.1, please use 3D node instead. 所以就把这个节点开了3d,通过rotation倾斜。刚把这个节点关了3d,改回skew倾斜,xcode模拟器没有报错了。

会不会是先前构建的时候,把 3D 模块剪裁掉了,后来又使用了,导致构建后运行会出错

头疼啊 ,哎