SVG 2
Die Datei library.swf hab ich mit Hilfe von swfmill erstellt:
swfmill simple library.xml library.swf
Und die Datei library.xml sieht so aus:
<?xml version="1.0" encoding="utf-8"?> <movie width="225" height="300"> <frame> <library> <clip id="karte" import="karte.svg" /> </library> </frame> </movie>
Und damit das funktioniert, muss noch die Datei karte.svg in das Verzeichnis. Die IDs innerhalb der SVG-Datei sind wichtig, die tauchen dann in der haXe-Datei auf (hier "deutschland", "schleswigholstein", "europa" und "euDeutschland"). Mit der so erstellten library.swf kann man dann die haXe-Datei wie folgt compilieren:
/* // karte.hxml -main Karte -swf karte.swf -swf-lib library.swf -swf-version 9 -swf-header 225:300:24 */ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; class Karte { static var mc : MovieClip; static var dt_deutschland : Sprite; static var dt_schleswigholstein : Sprite; static var eu_europa : Sprite; static var eu_deutschland : Sprite; public static function main() { mc = flash.Lib.current; dt_deutschland = flash.Lib.attach("deutschland"); dt_schleswigholstein = flash.Lib.attach("schleswigholstein"); dt_schleswigholstein.buttonMode = true; dt_schleswigholstein.addEventListener(MouseEvent.MOUSE_UP, function (e) { eu_europa.x = 0; dt_deutschland.x = 300; }); eu_europa = flash.Lib.attach("europa"); eu_europa.x = 300; eu_deutschland = flash.Lib.attach("euDeutschland"); eu_deutschland.buttonMode = true; eu_deutschland.addEventListener(MouseEvent.MOUSE_UP, function (e) { eu_europa.x = 300; dt_deutschland.x = 0; }); mc.addChild(dt_deutschland); dt_deutschland.addChild(dt_schleswigholstein); mc.addChild(eu_europa); eu_europa.addChild(eu_deutschland); } // elementeAnlegen() }