Wie man ein PNG mit FlashDevelop, Haxe und SWFMill einbettet und zeigt
-
12-09-2019 - |
Frage
Ich habe Probleme, eine PNG -Datei in einer einfachen Flash -Anwendung anzuzeigen, die ich mithilfe von Haxe und FlashDevelop.
Schritt aufgenommen
- Die PNG -Datei wurde meinem Projekt hinzugefügt.
- Die PNG fügte der Bibliothek hinzu
- Stellen Sie die Option für eine Bitmap ein
- Legen Sie eine ID für das Objekt "Playerbitmap" fest
- Verifiziert, dass das erzeugte XML korrekt aussieht
Ich versuche dann das eingebettete Bild anzuzeigen:
var bitmap:Bitmap;
bitmap = new PlayerBitmap();
bitmap.x = 200;
bitmap.y = 200;
addChild(bitmap);
Der Code erstellt und generiert eine SWF -Datei, das Bild wird jedoch nicht angezeigt. Irgendwelche Zeiger?
Lösung
Ich habe das Problem gelöst, indem ich zwei einfache Testprojekte zum Laden eines Bildes erstellt habe. Der erste arbeitete und der zweite scheiterte. Es gab einen Unterschied zwischen den Projekten, die ein Paket hatte.
Das Arbeitsprojekt, das mein Hauptprojekt hat, hat kein Paket, das so kompiliert wird -Main Main
Das fehlerhafte Projekt ist identisch, außer dass das Hauptpaket in einem Paket ist und es wie diese -main org.alexjeffery.main zusammenstellt
Um das Bild zu laden, wenn mein Haupt in org.alexjeffery -Paket war, setze ich den Bildnamen auf org.alexjeffery.playerbitmap anstelle von Playerbitmap.
Ich habe jetzt ein Tutorial darüber geschrieben, wie es geht Einbetten Sie Bilder mit FlashDevelop und Haxe ein.
Andere Tipps
Was bekommen Sie, wenn Sie nachverfolgen
bitmap
bitmap.bitmapData.rect
- einige zufällige Pixel mit
bitmap.bitmapData.getPixel
Update 1: Ist Ihr PNG vielleicht miteinander verbunden oder so etwas anderes? SWFMill hat Probleme mit Interlaced -Bildern, wenn ich mich gut erinnere ...
Greetz
Back2dos
Öffnen Sie einfach das Verzeichnis des Projekts, gehen Sie dann zum Quellordner und fügen Sie dann die *.png -Dateien dort ein. Sie werden automatisch von FlashDevelop erkannt.
Möglicherweise möchten Sie diese Seite im Haxe -Handbuch überprüfen:
http://haxe.org/manual/target-flash-resources.html
Grundsätzlich brauchen Sie:
@:bitmap("relative/path/to/myfile.png")
class MyBitmapData extends BitmapData { }