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()
}