zoukankan      html  css  js  c++  java
  • Unity中下载和本地保存实例

    原地址:http://www.linuxidc.com/Linux/2011-10/45888.htm

     

    Download.cs

    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);   
                }   
            }   
            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();      
                   }      
            }   
    }  
    

      

    下载效果图:



    由于上面的服务器测试用C#,所以这个羽化也改写成了C#,方便管理,这里需要注意的是,保存的图片是以我们规定的形式输出出去的,羽化把这图片做成了这个模型的贴图,渐变显示出来,这个模型有动作的,羽化也让它播放了出来,图片为网上任意找的一张图片,当然也是羽化喜欢的东西-0- 那可怜的工资带不动的爱啊- -

    最后送上一张我们做的测试截图,Unity自带的Shader和高光贴图,虽然没有法线,效果还不错,消耗不是很大,还有很大上升空间~ ~ 手机上效果略次,微弱显示高光效果,有待改善- -

    linux

  • 相关阅读:
    RESTFUL 设计风格
    GET与POST的区别
    pycharm 对数据库进行可视化操作
    ORM 的基本操作
    pycharm 直接删掉数据表之后,makemigration和migrate 之后,数据库中依然没有生成数据表的问题
    DOM
    BOM对象
    JavaScript
    traversal child window of parent window
    tkinter threading unblock GUI ( check if the thread exists)
  • 原文地址:https://www.cnblogs.com/123ing/p/3704054.html
Copyright © 2011-2022 走看看