Cocos creator 游戏中动态创建精灵的问题

不使用prefab,缺少直接创建精灵的方法,论坛上有一个方法(传送门 ,如下:
var node = new cc.Node();
var sprite = node.addComponent(cc.Sprite);
cc.director.getScene().addChild(node);
sprite.spriteFrame.setTexture(cc.url.raw(‘res/textures/content.png’));

经验证不好使,因为此时sprite.spriteFrame == null,我是v1.1.2,当然也可以使用cc.loader. loadRes或cc.loader. loadResAll将spriteFrame预加载后再使用,但是不够直接、不够直观,求可用的直接创建精灵的便利方案:dizzy_face:

可以使用 sprite.spriteFrame = new cc.SpriteFrame(cc.url.raw(“resources/xxx.png”)); 不过官方不推荐这样用。

为何啊…………?

不想用 loadRes 的话,暂时只能 new cc.SpriteFrame(cc.url.raw('resources/test assets/PurpleMonster.png'))

好的,了解啦~

2.1版本是不支持这么做了么,
TypeError: tex.once is not a function
at Object.loadImage (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:42542:15)
at cc_SpriteFrame._loadTexture (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:12559:37)
at cc_SpriteFrame.setTexture (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:12552:16)
at cc_SpriteFrame.ctor (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:12483:37)
at new cc_SpriteFrame (eval at _createCtor (http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:30179:14), :10:7)

@jare 我也碰到了这个问题

我们也是这么用的