2017-04-18 127 views
0

我想改變我的對象的紋理與此代碼:的Texture2D是工作在編輯器中,但不是在Android設備

Texture2D baileyburlwood = Instantiate(Resources.Load("bailey burlwood") as Texture2D); 
    myObject.GetComponent<Renderer>().material.mainTexture = baileyburlwood; 

這是工作完全正常的編輯器,紋理變化,但是當我嘗試在我的Android設備上運行它,我的對象變黑了。也沒有錯誤或任何警告。請幫忙!謝謝!

我使用Unity順便說一句

I added a screenshot of where the file is located

+0

在遊戲過程中,baileyburlwood值是否會發生變化? – Universus

+0

你的意思是改變什麼? – Janella

+0

我看到你正在從資源文件夾中加載紋理文件,但真的有必要這樣做嗎?因爲你可以製作「public Texture2D baileyburlwood」,然後在編輯器中聲明它。另外我不建議在文件名中使用空格。 – Universus

回答

0

從截圖5.5.1f在更新的問題,你要加載的圖像稱爲貝利burlwood.jpg這已經是在資源文件夾..

這裏存在問題:

Instantiate(Resources.Load("bailey burlwood") as Texture2D); 

您實例化預製件,腳本和組件而不是正常類如Texture2D

您的代碼就會如果貝利burlwood.jpg貝利burlwood.prefab和你的工作與GameObject prefab = Resources.Load("shipPrefab", typeof(GameObject)) as GameObject;加載它,但這裏並非如此。

由於「貝利burlwood」文件爲JPG文件,你應該加載這樣的:

Texture2D baileyburlwood = Resources.Load("bailey burlwood") as Texture2D; 
myObject.GetComponent<Renderer>().material.mainTexture = baileyburlwood; 

注意,沒有涉及Instantiate功能。請參閱this文章,瞭解如何在使用資源文件夾時加載具有不同映像設置的其他圖像文件。

+0

非常感謝你!大幫忙<3 – Janella

+0

不客氣! – Programmer

相關問題