U3DC.COM | 优三帝研究院

Menu

unity动态加载:工具类www

WWW是一个Unity开发中非常常用到的工具类,主要提供一般Http访问的功能,以及动态从网上下载图片、声音、视频Unity资源等。

 

主要支持的协议有:http://,https://,file://,ftp://(只支持匿名账号),其中file://便是访问本地文件。

 

下面是一个简单的用法,这里已异步加载图片未例:

 

C#代码
  1. IEnumerator LoadTexture(string url,Action<Texture2D> cb)
  2.     {
  3.         //这里的url可以是web路径也可以是本地路径file://
  4.         WWW www = new WWW (url);
  5.         //挂起程序段,等资源下载完成后,继续执行下去
  6.         yield return www;
  7.         //判断是否有错误产生
  8.         if (string.IsNullOrEmpty (www.error)) {
  9.             //把下载好的图片回调给调用者
  10.             cb.Invoke (www.texture);
  11.             //释放资源
  12.             www.Dispose ();
  13.         }
  14.     }

需要调用异步加载的地方只需简单几行代码:

C#代码
  1. StartCoroutine (LoadTexture ("image url",delegate(Texture2D tex) {
  2.     /*
  3.      * 图片下载完成,但是这里一定要注意,这个过程是异步的,
  4.      * 所以这里一定要对使用这些图片的组建做判断,
  5.      * 因为图片下载完成时,它们可能已经不存在了
  6.     */
  7. }));

 

 

打赏
— 于 共写了736个字
— 文内使用到的标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据