16.10 Intrinsic
Macromedia nutzt Intrinsic-Klassen, um die Grundfunktionalität (core) von Flash zu beschreiben. Intrinsic-Klassen erinnern dabei an Schnittstellen (siehe Seite 409). Nur dass es sich diesmal um Klassen handelt, deren Implementierung direkt im Flash Player vollzogen wurde. Deshalb findet sich auch kein weiterer ActionScript-Code in den Klassen.
Im Zusammenhang mit exportierten Komponenten (SWC-Dateien) kommen Intrinsic-Klassen ebenfalls zum Einsatz (siehe »Komponenten«, Seite 426). Das folgende Listing zeigt die Definition der Video-Klasse, die zu den in Flash fest eingebauten Klassen zählt.
//*******************************************************************
// ActionScript Standard Library
// Video object
//*******************************************************************
intrinsic class Video
{
function attachVideo(source:Object):Void;
function clear():Void;
var deblocking:Number;
var height:Number;
var smoothing:Boolean;
var width:Number;
}
Siehe Kapitel »Entwicklungsumgebung/Flash anpassen ab Seite 99
Die Intrinsic-Klassen finden Sie üblicherweise innerhalb des Classes-Verzeichnis direkt im Anwenderordner. Unter Windows ist dies meist C:\Dokumente und Einstellungen\[Benutzer]\Lokale Einstellungen\Anwendungsdaten\Macromedia\Flash MX 2004\[Sprache]\Configuration\Classes.
Normalerweise haben Sie als Entwickler keinen Einfluss auf den Funktionsumfang des Flash Players, weshalb das Schreiben eigener Intrinsic-Klassen meist eher sinnlos ist, außer Sie möchten undokumentierte Klassen verwenden, zu denen Macromedia keine Definitionsdateien geliefert hat. Denn in diesem Fall würden Sie bei einer normalen Verwendung dieser Klassen Typfehler erhalten, da Flash diese nicht kennt. Doch sobald Sie eine eigene Intrinsic-Klasse verfassen, steht einer Verwendung nichts im Wege. Bei der im Kapitel »Flash undokumentiert« auf Seite 588 beschriebenen Cookie-Klasse handelt es sich beispielsweise um solch eine undokumentierte Klasse, der eine Definition in der folgenden Form fehlt, um sie ohne weitere Tricks zu nutzen:
intrinsic class Cookie {
static function getCookie():XMLNode;
static function setCookie(data:XMLNode);
}
|