Flash – Aufgebohrt

Flash und undokumentierte Bestandteile: Im Tutorial von Matthias Kannengiesser wird die Möglichkeit geboten, nahezu sämtliche Objekte, Funktionen u.v.m. aus Flash herauszukitzeln.

Die Liste der Objekte ist recht lang. Daher haben wir für Sie die folgenden Codezeilen zusammengestellt, die Ihnen die Ausgabe erleichtern sollen. Legen Sie die folgenden Codezeilen in das erste Schlüsselbild der Hauptzeitleiste ab.

ASSetPropFlags(_global, null, 8, 1);
for (i in _global) {
feld.text += i +“n“;
for (j in eval(i).prototype) {
feld.text += „tt“ + j + „n“;
}
}

Abschliessend platzieren Sie noch ein dynamisches Textfeld, mit dem Instanznamen »feld« auf der Bühne. Die Funktion ASSetPropFlags stellt im übrigen eine undokumentierte Funktion dar.

allInfo Ausgabe Methode

Wollen Sie die Objekte genauer betrachten, dann haben wir hier für Sie folgende Methode, deren Information im Ausgabefenster angezeigt werden.

// allInfo Methode
function allInfo(name) {
var ziel = eval(name);
var CR = „n“;
var sep = „——————–„;
ASSetPropFlags(ziel, null, 8, 1);
trace(„info: “ + name + CR + sep);
for (p in ziel) {
trace(p);
}
trace(sep + CR);
}

// Einzelne Objekte (begutachten)
allInfo(„_global“);
allInfo(„system“);
allInfo(„video.prototype“);
allInfo(„microphone.prototype“);
allInfo(„localConnection.prototype“);
allInfo(„netConnection.prototype“);
allInfo(„netStream.prototype“);

Formatierte Ausgabe

Wer von Ihnen eine komfortablere Ausgabe erwartet, sollte sich folgende Codezeilen samt Formatierung näher betrachten.

// Ausgabe innerhalb einer TextArea oder eines Textfeld
ausgabe_txt.html = true;
// Analyse Skript
ASSetPropFlags(_global, null, 8, 1);

for (i in _global) {
ausgabe_txt.text += „<font color=’#ff0000′><b>Objekt ist : „+i+“</b></font><BR><BR>“;
var objektTyp = _global[i];
ASSetPropFlags(objektTyp, null, 8, 1);
for (var j in objektTyp) {
ausgabe_txt.text += „<font color=’#009900’><b>tMethode : „+j+“</b></font><BR>“;
}
var protoTyp = _global[i].prototype;
if (protoTyp != undefined) {
ASSetPropFlags(protoTyp, null, 8, 1);
for (var k in protoTyp) {
ausgabe_txt.text += „<font color=’#000099’><b>ttPrototype-Objekt ist : „+k+“</b></font><BR>“;
}
}
}

Zur Ausgabe wird ein Textfeld oder eine TextArea mit dem Instanznamen ausgabe_txt benötigt.

Noch ein Tipp für diejenigen unter Ihnen, die schon immer wissen wollten, wie in Flash Filme Objekte, Filmsequenzen, Variablen, usw. verwaltet werden.

for (i in _root) {
trace(„Typ:“ + typeof _root[i] + “ / Wert:“ + _root[i]);
}

Mit Hilfe dieser for-in-Schleife wird es Ihnen ermöglicht, sämtliche Element der Hauptzeitleiste auszulesen. Sie sehen richtig – der Zugriff entspricht dem Zugriff auf Elemente eines Arrays. In Flash werden die Bestandteile eines Flash Films in einem Array verwaltet. Somit haben Sie die Möglichkeit, auf jedes Element zu-zugreifen!

Hinweis: Es macht im übrigen einen gewaltigen Unterschied, ob Sie die Analyse innerhalb der Flash Entwicklungsumgebung oder im Flash Player laufen lassen. Innerhalb der Flash Entwicklungsumgebung werden wesentlich mehr Objekte ausgegeben!

Fazit

Flash hat einiges zu bieten – nur leider werden einige interessante Bestandteile erst garnicht innerhalb der Dokumentation aufgeführt. ASSetPropFlags ist Ihnen dabei behilflich, hinter die Kulisen zu blicken und den Objekten und Funktionen auf den Zahn zu fühlen!

Ein Tipp von: Matthias Kannengiesser, bearbeitet und aktualisiert von: Designer in Action

Kommentieren

Ich akzeptiere die Datenschutzerklärung.