+

SVG

Meine ersten gehversuche mit ActionScript 3. Und auch mit SVG-Dateien in Flash. Ausserdem ein PNG-Bild.

Gestern (17.3.2010) bin ich noch einen Schritt weiter gegangen und habe unterschiedliche Elemente aus ein und derselben SVG-Datei an verschiedenen Stellen eines Flash-Films benutzt.


// http://livedocs.adobe.com/flex/2/langref/migration.html

import flash.display.MovieClip;

import flash.events.Event;
import flash.events.MouseEvent;

import flash.text.TextField;
// import flash.text.TextFormat;

class Rahmen {

  static var mc : MovieClip; // _root
  static var background : MovieClip; // png aus svgtest.swf
  static var vector : MovieClip; // svg aus svgtest.swf

  static var ausgabe : TextField;
  static var mausbewegt : Bool = false;
  static var hintergrund : Bool = false;

  public static function main() {
    mc = flash.Lib.current;
    mc.addEventListener(Event.ENTER_FRAME, einzelbild );
    mc.addEventListener(MouseEvent.MOUSE_MOVE, mousemove );
    elementeAnlegen();
  } // main()

  static function einzelbild(e:Event) {
    if (mausbewegt) {
      vector.rotation = mc.mouseX*2;
      vector.scaleX = mc.mouseY*mc.mouseY / 15000;
      vector.scaleY = vector.scaleX;
      ausgabe.text = "rotation:"+vector.rotation+"° - zoom:"+vector.scaleX;
    }
  } // einzelbild()

  static function mousemove(m:MouseEvent) {
    mausbewegt = true;
  } // mousemove()

  static function elementeAnlegen() {

    background = flash.Lib.attach("background"); // kommt aus svgtest.swf
    mc.addChild(background);

    vector = flash.Lib.attach("vector"); // kommt aus svgtest.swf
    mc.addChild(vector);
    vector.x = 150;
    vector.y = 150;
    vector.rotation = 180;

    ausgabe = new TextField();
    mc.addChild(ausgabe);
    ausgabe.x = 100;
    ausgabe.y = 20;
    ausgabe.width = 200;

  } // elementeAnlegen()

} // class Rahmen