2017-04-18 4 views
0

Ich versuche, die Textur meines Objekts mit diesem Code zu ändern:Texture2D arbeitet in Editor, aber nicht in Android-Gerät

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

Es funktioniert perfekt im Editor in Ordnung, die Textur ändert aber als ich versuchte, Um es in meinem Android-Gerät laufen zu lassen, wird mein Objekt einfach schwarz. Es gibt auch keinen Fehler oder irgendeine Warnung. Bitte helfen! Vielen Dank!

Ich bin mit Unity 5.5.1f btw

I added a screenshot of where the file is located

+0

Ändert sich der Wert von baileyburlwood während des Spiels? – Universus

+0

was meinst du mit wechseln? – Janella

+0

Ich sehe, Sie laden Textur-Datei von Ressource-Ordner, aber ist es wirklich notwendig, es so zu tun? Weil du einfach "public Texture2D baileyburlwood;" veröffentlichen und dann im Editor deklarieren kannst. Ich empfehle auch nicht Leerzeichen in Dateinamen zu verwenden. – Universus

Antwort

0

Aus dem Screenshot in Ihrer aktualisierten Frage, das Bild, das Sie laden möchten bailey burlwood.jpg, die bereits in den Resources genannt wird Ordner ..

Hier liegt das Problem:

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

Sie Instanziieren Prefabs, Skripte und Komponenten nicht normalen Klassen wie Texture2D.

Ihr Code würde gearbeitet haben, wenn bailey burlwood.jpg ist bailey burlwood.prefab und Sie es mit GameObject prefab = Resources.Load("shipPrefab", typeof(GameObject)) as GameObject; laden, aber das ist hier nicht der Fall.

Da die "bailey burlwood" Datei eine JPG-Datei ist, sollten Sie wie folgt laden:

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

Hinweis, dass es keine Instantiate beteiligt Funktion. Unter this finden Sie Informationen zum Laden anderer Bilddateien mit unterschiedlichen Bildeinstellungen, wenn Sie den Ordner Resources verwenden.

+0

vielen Dank! große Hilfe <3 – Janella

+0

Gern geschehen! – Programmer

Verwandte Themen