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.
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.
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_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.
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!