Flashdevelop, Inkscape und fxg
Da ich gerade mal wieder Flashdevelop für die Android App Entwicklung angeworfen habe, bin ich auf ein altes/neues Problem gestoßen. Bis zur Version 4 hat der Flex SDK wunderbar mit in Inkscape erstellten svg's funktioniert. Aus welche Gründen auch immer, hat Adobe den Import von svg komplett gestrichen und es durch das ebenfalls xml basierte fxg Format ersetzt. Das hat sicher auch Vorteile, aber genervt hat es schon. Inkscape 0.48 kann es nicht erzeugen und zu Illustrator will ich nicht zurück. Alleine der Gedanke an das arbeiten mit Transparenzen oder Blur schreckt ab. Ok, also Lösung suchen.
Die Jungs von Inkscape haben es erkannt und in der aktuellen(20.06.2011) trunk Version kann ich fxg speichern. Allerdings kann ich es danach nicht mehr öffnen . Für die Grundlegende Erstellung von Grafikelementen im fxg Format ist es gut, im Notfall(da beta) im 0.48 die svg erstellen und dann in der trunk Version als Kopie speichern.
Leider gibt es nach wie vor Probleme mit gedrehten Farbverläufen, welche ich bei Buttons recht oft brauche. War aber auch bei svg schon so. Da das ganze XML, also text-basiert ist kann ich im Flashdevelop noch einiges machen, aber die ganze fxg Spezifikation lernen nervt.
Aber es gibt noch eine Alternative, Project Rome. Ist zwar nicht OpenSource, aber im Moment kostenlos. Der Export in fxg ist Klasse, nur der Import in AS3 klappt nicht. Das liegt daran das Project Rome mehr für Print ausgelegt ist und daher eine Zeichenfläche mit exportiert. Im XML Editor ist das leicht zu entfernen. Einfach die ersten 3 Group und die letzten beiden Group entfernen und es passt.
Im Flashdevelop (4.0 beta) sieht es auch nicht besser aus.Die normale Embed Variante ist auf dem Weg zu Flex SDK 4.5 leider auf der Strecke geblieben. Aber dafür ist der Import jetzt kürzer.
Bei den anderen imports einfach "import gfx.btnHome;" angeben und mit "var btnHome:Sprite = new btnHome();" ist er instanziert. Wobei gfx der Unterordner ist und btnHome eigentlich die Datei btnHome.fxg ist. Wenn ich die Grafik wie gewohnt im lib Ordner anlegen will, muss ich in den Projekteinstellungen unter "Classpath" noch den Ordner lib mit angeben. Dann klappts auch mit dem neuen Format
Alles in allem war es etwas holprig, aber ich hoffe es ändert sich nicht so schnell wieder. Wie vielleicht schon bemerkt, bin ich gerade dabei Flashdevelop für die Entwicklung von Android Apps zu testen. Zu dem Thema demnächst mehr hier im Blog.