loadRes 加载图片时 总是报错:in "resources/" does not exist

你好, 咨询一个问题, 我使用1.8版本的Creator,用js脚本修改一个sprint的图片,在事先加载资源的时候为啥总是报错,说资源找不到呢?

同时, 也尝试过cc.url.raw方法加载, 加载到时没有错, 但是发布后的软件却找不到动态的资源。
清大侠指导谢谢。

目前根据这个官方教程各种方法都试了还是不行。http://docs.cocos.com/creator/manual/zh/scripting/load-assets.html

http://forum.cocos.com/t/cc-loader-loadres/41038/4 这个文章说路径中不能有中文,但是我的路径里面没有中文

你是说在Creator编辑器中用脚本加载图片么?

我用的1.6.2版,在编辑器中是不能用loadRes的,必须用load函数,通过uuid来加载。代码如下,注意这个url是绝对路径,不像loadRes是相对路径。这种方式只能加载cc.SpriteFrame。

if (CC_EDITOR) {
var res = ‘db://assets/resources/images/ui/components/TextBoxes.png/TextBoxes’;
var uuid = Editor.assetdb.remote.urlToUuid(res);
cc.loader.load({ type: uuid, uuid: uuid }, function (err, sf) {
if (err) {
cc.error(res);
cc.error(err.message || err);
return;
}
。。。
}.bind(this));
} else {
// 编辑器环境之外,用loadRes。
}

加载内容,是否在resources下面?

目前编辑器里是不支持 loadRes 的,非常抱歉。

谢谢 @jare@maxime , 不是用编辑器中加载图片。 而是直接用js脚本控制(右侧的代码是脚本的只读显示)。 脚本的目的就是当某个键点击后,直接更换某个sprite的图片。
就是下面的代码报错说cc.SpriteFrame in resources/eggopen does not exist. 按理说resources目录下是有这个图片的。还是报错。

var open_sprite = null;
cc.loader.loadRes(“eggopen”, cc.SpriteFrame, function (err, spriteFrame) {
if (err) {
cc.error(err.message || err);
console.log(“DEBUG: err”+err);
return;
}
open_sprite = spriteFrame;
});

this._currDishuNode.getChildByName(“egg”).getComponent(cc.Sprite).spriteFrame = open_sprite;

@jare 按照这个教程
http://docs.cocos.com/creator/api/zh/classes/loader.html#loadres 里面的example,原封不动的放到我的脚本里面,居然还是报 “cc.SpriteFrame in “resources/imgs/cocos” does not exist” 错误,请问是什么原因?谢谢

这个是脚本的内容:

找到原因了, 谢谢各位了!

下面这部分放到了onLoad函数中就可以不报错了, 原来放到了global的位置。
cc.loader.loadRes(‘imgs/cocos’, cc.SpriteFrame, function (err, spriteFrame)