赞
踩
WWW类,通过图片在服务器的地址,生成的对象,只能得到一张Texture2D类型的贴图
。(还不能被Image使用)
需要以这张Texture2D类型贴图为参数,创建Image能用的Sprite
。
代码直接放在了Image组件上
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class DownLoadImageFromServer : MonoBehaviour { void Start() { //异步加载 StartCoroutine(DownloadImage()); } void Update() { } IEnumerator DownloadImage() { //WWW类,通过图片在服务器的地址,生成类对象 string path = "121.36.49.39/WebGl/DR/DRResource/DogPics/1.1头部侧位体位摆放" + ".png"; WWW www = new WWW(path); yield return www; //得到一张Texture2D类型的贴图 Texture2D texture2D = www.texture; //以这张Texture2D类型贴图为参数,创建Image能用的Sprite Sprite createSprite = Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), new Vector2(0, 0)); gameObject.GetComponent<Image>().sprite = createSprite; texture2D = null; } }
1、必须异步加载 (直接放在Start里加载,会提示没加载完成)——下图1及小图
2、必须得把Texture2D对象清空 ——下图2
3、必须注明图片格式 ——下图3
Unity引擎提示WWW类快被废弃了——UnityWebRequest类
与 WWW类
,下载图片过程的主要区别,有两点:一是连接服务器的方式(红框),二是得到Texture2D的方式(紫框)。对比图如下
WebRequest类
WWW类
代码链接:Unity用UnityWebRequest,从服务器 下载图片
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。