-->

Programming

Flash Symbole mit Actionscript3 in Flex

by devarni on 23 Februar 2009, under Programming

Der Unterschied

Nicht vergessen: Flash != Flex. Flex benutzt zwar Flash Elemente basiert aber auf eigenen Klassen. Wenn Flash und Flex zusammenspielen sollen, benötigen wir eine Schnittstelle.
Ein MovieClip ist ein Anzeigeobjekt in Flash und UIComponent ist ein Anzeigeobjekt in Flex. Wir können aber ein MovieClip in ein UIComponent “verpacken”, so wird das Flex UIComponent ein Container für unseren Flash MovieClip.
Hier nun beide Dateien, zuerst die MXML Datei:





Und die Actionscriptdatei mit der Klasse:


package {
	import mx.core.Application;
	import mx.core.UIComponent;
	import flash.display.MovieClip;

	/*****************************************************************
	 * File: FlexApp.as
	 *****************************************************************/

	public class FlexApp {
		private var _app:Application;

		public function FlexApp(app:Application) {
			_app=app;

			var btn:MovieClip=new BtnStop();
			var flexui:UIComponent=new UIComponent;
			flexui.addChild(btn);
			app.addChild(flexui);
		}

		static public function initApp():FlexApp {
			return new FlexApp(Application(Application.application));
		}

		public function get app():Application {
			return _app;
		}
	}
}

Wie es funktioniert

applicationComplete in der MXML Datei ist der Eventhandler der von der Anwendung aufgerufen wird. Hier setzen wir unseren Handler ein, der eine statische Funktion unser Klasse sein muss damit er auch später aufgerufen werden kann.
initApp() erzeugt unsere Klasse und übergibt das Objekt als Parameter an den Constructor.
Im Constructor erzeugen wir den MovieClip, basierend auf dem von Flash importierten Symbol “BtnStop” (dieses Symbol kommt von einer SWC Bibliothek die vorher mit Flash erzeugt wurde). Es wird dann ein Flex UIComponent erzeugt, wo wir unseren MovieClip als Child hinzufügen. Das UIComponent kann nun zur Flex-Anwendung hinzugefügt werden.

Leave a Comment :, more...

Suche

Benutze das Eingabefeld für die Suche:

Archive

Alle Einträge, chronologisch...

© 2009 by Frank Arnold | Impressum