Cocos Creator教程:加载远程资源的方法与最佳实践 | 南锋

南锋

南奔万里空,脱死锋镝余

Cocos Creator教程:加载远程资源的方法与最佳实践

远程 url 带图片后缀名

1
2
3
4
5
6
7
8
let remoteUrl = "http://unknown.org/someres.png";
assetManager.loadRemote<ImageAsset>(remoteUrl, function (err, imageAsset) {
const spriteFrame = new SpriteFrame();
const texture = new Texture2D();
texture.image = imageAsset;
spriteFrame.texture = texture;
// ...
});

远程 url 不带图片后缀名,此时必须指定远程图片文件的类型

1
2
3
4
5
6
7
8
let remoteUrl = "http://unknown.org/emoji?id=124982374";
assetManager.loadRemote<ImageAsset>(remoteUrl, {ext: '.png'}, function (err, imageAsset) {
const spriteFrame = new SpriteFrame();
const texture = new Texture2D();
texture.image = imageAsset;
spriteFrame.texture = texture;
// ...
});

用绝对路径加载设备存储内的资源,比如相册

1
2
3
4
5
6
7
8
const absolutePath = "/dara/data/some/path/to/image.png";
assetManager.loadRemote<ImageAsset>(absolutePath, function (err, imageAsset) {
const spriteFrame = new SpriteFrame();
const texture = new Texture2D();
texture.image = imageAsset;
spriteFrame.texture = texture;
// ...
});

远程音频

1
2
3
4
remoteUrl = "http://unknown.org/sound.mp3";
assetManager.loadRemote(remoteUrl, function (err, audioClip) {
// play audio clip
});

远程文本

1
2
3
4
remoteUrl = "http://unknown.org/skill.txt";
assetManager.loadRemote(remoteUrl, function (err, textAsset) {
// use string to do something
});
+