上一阶段       回到总览       下一阶段

在上一篇,我们简单探讨了 ResLoader 的设计思考。

在这一篇,我们学习如何从其他位置加载资源。

从 Resources 中加载资源

从 Resources 中加载资源很简单,代码如下:

1
2
3
var sprite = mResLoader.LoadSprite ("resources://TestSprite");
var spriteRenderer = GetComponent<SpriteRenderer>();
spriteRenderer.sprite = sprite;

只需要加上 resources:// 前缀即可。

从网络中加载资源

加载网络图片也很简单,只需要加上前缀: netimage: 即可,不过,从网络中加载资源是异步加载,所以需要使用异步加载的 API。

1
2
3
4
5
6
7
8
9
10
11
12
13
var imageUrl = "http://file.liangxiegame.com/296b0166-bdea-47d5-ac87-4b55c91df16f.png";

mResLoader.Add2Load ("netimage:" + imageUrl,(succeed,res) => {
if (succeed)
{
var spriteRenderer = GetComponent<SpriteRenderer>();
var texture2D = res.Asset as Texture2D;
var sprite = Sprite.Create(texture2D,new Rect(0,0,texture2D.width,texture2D.height),Vector2.one * 0.5f);
spriteRenderer.sprite = sprite;
}
});

mResLoader.LoadAsync();

从本地加载资源

从本地加载资源,实际上是从 Application.persistentDataPath 中加载资源。

使用方式很简单,只需要加上 localimage: 前缀即可。

因为用得比较少,所以这里不做介绍。

小结

本篇的内容中,加载网络图片和加载 Resources 资源使用得比较多。

尤其是从 Resources 中加载资源,非常适合作为过渡方案:当一些项目一开始用的是 Resources,后来接触了 QF 的 Res Kit,这种情况下,可以先使用 Res Kit 加载 Resources 资源你的方式。

此篇的内容就这些。

  • 转载请注明地址:凉鞋的笔记:liangxiegame.com。
  • 任何问题欢迎到 QQ 群:623597263 交流。
上一阶段       回到总览       下一阶段