Cocos官方推荐用cc.loader.loadRes()方法。
三个参数:
1.资源地址
不要加上resources目录。资源的后缀格式不要写,比如png,jpg不要写入
例如:我将载入resources下的images下的man.png图片那么我应该写入的第一个参数为:images/man
2.第二个参数,用来指定你要加载的资源的类型
对于单个图片资源,资源类型为cc.SpriteFrame;音效资源为:cc.AudioClip
3.第三个参数为内置回调函数,在函数中我们可以进行自己的业务逻辑
如下代码
public SetStarTex(_sprite: cc.Sprite, _colorIndex: number) {
let tex = this.StarTexs[_colorIndex];
if (tex == null) {
let texName: string = "";
switch (_colorIndex) {
case 0:
texName = "tex/star/red";
break;
case 1:
texName = "tex/star/yellow";
break;
case 2:
texName = "tex/star/blue";
break;
case 3:
texName = "tex/star/green";
break;
case 4:
texName = "tex/star/purple";
break;
}
cc.loader.loadRes(texName, cc.SpriteFrame, function (error, object) {
if (error) {
Debug.Error("error while load " + texName);
}
_sprite.spriteFrame = object;
this.StarTexs[_colorIndex] = object;
}.bind(this));
}
else {
_sprite.spriteFrame = tex;
}
}