Jump to content
Unity Insider Forum

Durch Skript zu ladendes RawImage wird nicht auf Android angezeigt.


Wilma Wunderlich

Recommended Posts

Hallo Community,

ich hoffe jemand hat eine Lösung für mein kleines "Problemchen".

TestBild.texture = Resources.Load("gfx/misc/bilder/" + G, typeof(Texture2D)) as Texture2D;

^^das funktioniert auf dem PC aber nicht auf dem AndroidPhone :(

Als Alternative habe ich folgendes versucht:

if (Application.isMobilePlatform == true)
        {
            DateiPfad = Application.persistentDataPath;
        } else {
            DateiPfad = Application.dataPath;
        }
TestBild.texture = Resources.Load(DateiPfad + "Resources/gfx/misc/bilder/" + G, typeof(Texture2D)) as Texture2D;

Gleiches Spiel - es funktioniert auf dem PC aber nicht auf dem AndroidPhone :o

- es handelt sich um ein 2D Projekt
- TestBild ist ein RawImage Objekt.
- G ist eine Zahl vom Typ int - die Bilder haben die Namen: 1.jpg, 2.jpg, usw.
- Die Bilder befinden sich hier: "Resources/gfx/misc/bilder/"

Bitte stupst mir (mal wieder) meine kleine Denkmurmel an. :wub:
Was mache ich falsch damit es auf Smartphone und PC funktioniert? Bzw. warum wird das Bild in der Android Version nicht angezeigt/geladen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schwer zu sagen woran es liegt, die untere Alternative ist jedenfall völliger Murks. Unity verpackt bei einem Build den Resources-Foldes in ein Archiv, d.h. der Verzeichnispfad ist in einem Build nur noch "logisch" vorhanden (für die Resources.Load) aber nicht mehr im Dateisystem.

Alternativ kannst du auch folgendes verwenden:
https://docs.unity3d.com/Manual/StreamingAssets.html

Eine "todsichere" Methode sollte die hier sein:
https://docs.unity3d.com/ScriptReference/Application-streamingAssetsPath.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ansonsten musst du mal schauen, ob ein Nachladen einer Ressource in Unity in deinem Fall notwendig ist. Wenn du die Grafik später nicht zur Laufzeit austauschen willst, wäre es besser du legst die Grafik als normales Asset im Projektfolder ab und lässt dein Skript auf dieses Asset verweisen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...