+

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

}