2015-11-04 95 views
0

在Unity中,此腳本在程序的開始處加載。我想下載一個圖像,然後在主屏幕上顯示它。我該怎麼辦?以下代碼不起作用。下載並打開png圖像?

我的代碼:

using UnityEngine; 

public class PushNotifications : MonoBehaviour { 

    IEnumerator Start() { 
     Texture2D textWebPic = null; 
     WWW image = new WWW("http://www.test.com/image.png");   
     yield return image; 
     image.LoadImageIntoTexture(textWebPic); 
    } 

void Update() { 

    }  
} 
+0

你是否檢查過image.error屬性? – Daniel

回答

1

你不能傳遞null LoadImageIntoTexture,從此團結不知道往哪裏放的輸出(它不是REF)。紋理必須先初始化。

但是,對於初始化它的大小或格式並不重要,否則統一將調整它的大小。所以,你可以初始化一些假人,這樣加載圖像:

IEnumerator Start() { 
     Texture2D textWebPic = new Texture2D(2,2); 
     WWW image = new WWW("http://www.test.com/image.png");   
     yield return image; 
     image.LoadImageIntoTexture(textWebPic); 
    } 

另外,可能會更好的選擇是使用WWW.texture代替LoadImageIntoTexture的,就像這樣:

IEnumerator Start() { 
     WWW image = new WWW("http://www.test.com/image.png");   
     yield return image; 
     Texture2D textWebPic = image.texture; 
    } 

見WWW類參考更多示例: http://docs.unity3d.com/ScriptReference/WWW.html

然後爲了在屏幕上顯示它,您有多個選項 - 使用此紋理創建材質,從紋理創建精靈(最適合2d遊戲)或僅使用Graphics.DrawTexture