Cocos Creator报错“Invalid Native Object”

错误信息如下:

Error: js_cocos2dx_SpriteFrame_getTexture : Invalid Native Object

发生错误的原因是我在程序刚开始的时候定义了一个全局变量mlit.mSpriteFrame,是通过如下的方式获得的:

        cc.loader.loadRes(filePath, (err, tex)=>{
            var spriteFrame = new cc.SpriteFrame(tex);
            mlit.mSpriteFrame = spriteFrame;
        });

然后在另一个函数中用到了mlit.mSpriteFrame:

        var node = new cc.Node("some node");
        var sprite = node.addComponent(cc.Sprite);
        cc.log('hoho heha1 ' + mlit.mSpriteFrame);
        try {
        sprite.spriteFrame = mlit.mSpriteFrame;
        }
        catch (e) { cc.log('hoho heha err= ' + e); }

输出的结果是:

Simulator: hoho heha1 [object SpriteFrame]
Simulator: hoho heha err= Error: js_cocos2dx_SpriteFrame_getTexture : Invalid Native Object

如果不加try…catch…,整个程序就黑屏了。
可以看到mlit.mSpriteFrame是已经加载好的(这个我可以确定),但是却报错了,请求原因

我这也是类似,第一遍的时候可以,第二遍先从父节点清空,再由prefab实例化,再设置图片,就报错了

能否给一个 demo 测试一下,还有你们的编辑器版本是多少的?

我大概找到了原因,之前将父节点active置为了false,这个时候再对其中的spriteframe是可以建立的,但这个=new cc.SpriteFrame(XXX);就会报这个错了。改成不置active,暂时没再报错。
另外,我用的1.2.1.