[unity3d]下载网上的图片并保存到本地

简介: 下面介绍一个下载一个网络资源保存到本地的例子,正好是现在项目中的需求。 using UnityEngine;using System.Collections;using System.

下面介绍一个下载一个网络资源保存到本地的例子,正好是现在项目中的需求。

using UnityEngine;
using System.Collections;
using System.IO;

public class Download : MonoBehaviour 
{
	public string url = "http://ww3.sinaimg.cn/large/80dfe250jw1dle1r2v4t9j.jpg";
	public GUIText Test;
	WWW www;
	Color Alpha;
	bool Appear = false;
	int a = 0;
	
	IEnumerator Start() 
	{
		www = new WWW(url);
		//定义www为WWW类型并且等于所下载下来的WWW中内容。
		yield return www;
		//返回所下载的www的值
		renderer.material.shader = Shader.Find("Transparent/Diffuse");
		renderer.material.mainTexture = www.texture;
		
		Texture2D newTexture = www.texture;
		byte[] pngData = newTexture.EncodeToPNG();
		try
		{
			if (Application.platform == RuntimePlatform.Android)
			{
				File.WriteAllBytes(Application.persistentDataPath + "/ICO.png", pngData);
				
			}
			else
			{
				//File.WriteAllBytes(Application.dataPath + "/download/ICO.png", pngData);
				File.WriteAllBytes(Application.dataPath + "/ICO.png", pngData);
			}
		}
		catch(IOException e)
		{
			print(e);
		}
		
		Alpha = renderer.material.color;
		Alpha.a = 0;
		Appear = true;
		renderer.enabled = true;
		renderer.material.color = Alpha;
		//将下载下来的WWW中的图片赋予到默认物体的材质上进行渲染出来
	}
	
	void Update()
	{
		Test.text = "DownLoad: " + www.progress;
		if(www.progress == 1 && Appear)	
		{
			a++;
			Alpha = renderer.material.color;
			Alpha.a += 0.01F;
			renderer.material.color = Alpha;
		}
		
		if(Input.GetKey(KeyCode.Escape))   
        {   
            Application.Quit();   
        }   
	}
	
	void OnGUI()    
    {   
        if(GUI.Button(new Rect(Screen.width-120,Screen.height-40,120,30),"Click to XIAOWEI!"))    
        {   
            Application.OpenURL("http://blog.csdn.net/dingxiaowei2013");   
        }   
    }   
} 

运行后会发现程序中本来没有ICO.png的,后来就多出来了,这就达到预想的效果!
相关文章
|
7月前
|
存储 程序员
Typora设置 “图片自动保存到文档对应目录下” 的方法(亲测有效)
Typora设置 “图片自动保存到文档对应目录下” 的方法(亲测有效)
|
7月前
【绝对贴心的代码】把网址生成二维码并且下载为图片文件,送到你嘴里的源码,关注点个赞呗!
【绝对贴心的代码】把网址生成二维码并且下载为图片文件,送到你嘴里的源码,关注点个赞呗!
|
7月前
|
机器学习/深度学习 人工智能 前端开发
Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!
Star 17.3k!这个截屏项目火了!给它一张屏幕截图,即可一键克隆网页!
|
7月前
|
前端开发
前端实现视频或者图片直链下载
前端实现视频或者图片直链下载
248 0
|
7月前
|
缓存 API 图形学
【Unity 3D】AssetBundle打包、上传、加载、卸载详解及演示(附源码)
【Unity 3D】AssetBundle打包、上传、加载、卸载详解及演示(附源码)
269 0
|
Web App开发 移动开发 前端开发
PDF 预览和下载你是怎么实现的?(下)
PDF 预览和下载你是怎么实现的?
670 0
|
Web App开发 移动开发 前端开发
PDF 预览和下载你是怎么实现的?(上)
PDF 预览和下载你是怎么实现的?
377 0
|
Web App开发 存储 iOS开发
Mac系统一键下载网页图片
Mac系统一键下载网页图片
Mac系统一键下载网页图片
六行代码下载张杰的最新专辑视频
六行代码下载张杰的最新专辑视频
120 0
六行代码下载张杰的最新专辑视频