yurij
Lt. Commander
- Registriert
- Jan. 2008
- Beiträge
- 1.064
So, ich versuche jetzt einen Flash Proxy zu schreiben.
Zweck: Normalerweise wenn man fertig kompillierte swf Files lädt,
kann man nur auf diejenigen internen Funktionen und Werte zugreifen, welche mit flash.external.ExternalInterface exportiert sind.
Ich will auf alle internen Funktionen und Variablen zugreifen.
Dafür versuche ich einen Flash Proxy zu schreiben.
Ich bin in Flash leider ein Laie. Ich weiss nicht mal ob mein Ansatz richtig ist.
Bis jetzt konnte ich meine eigene perparierte Testdatei "TestMe.swf"
in den Flash Proxy laden und erfolgreich auf interne Funktionen und Variablen zugreifen.
Unten ist der Testcode dazu:
Die eigentliche Client swf Datei besteht aus taussenden .as files welche wiederum weitere .swf files Laden, alles voll mit "Packages" und "Klassen".
Ich will nun wissen was ein Flash "Package" ist und wie man auf seine "Member" nativ zugreifen kann.
Weiterhin kennt jemand eine Methode alle Eigenschaften eines Flash Objekts generisch aufzulisten (zu enumerieren)?
Alles AS3.0
Zweck: Normalerweise wenn man fertig kompillierte swf Files lädt,
kann man nur auf diejenigen internen Funktionen und Werte zugreifen, welche mit flash.external.ExternalInterface exportiert sind.
Ich will auf alle internen Funktionen und Variablen zugreifen.
Dafür versuche ich einen Flash Proxy zu schreiben.
Ich bin in Flash leider ein Laie. Ich weiss nicht mal ob mein Ansatz richtig ist.
Bis jetzt konnte ich meine eigene perparierte Testdatei "TestMe.swf"
in den Flash Proxy laden und erfolgreich auf interne Funktionen und Variablen zugreifen.
Unten ist der Testcode dazu:
Die eigentliche Client swf Datei besteht aus taussenden .as files welche wiederum weitere .swf files Laden, alles voll mit "Packages" und "Klassen".
Ich will nun wissen was ein Flash "Package" ist und wie man auf seine "Member" nativ zugreifen kann.
Weiterhin kennt jemand eine Methode alle Eigenschaften eines Flash Objekts generisch aufzulisten (zu enumerieren)?
Alles AS3.0
Code:
trace("Loading...");
TestButton.label = "Test";
var MainLoader:Loader = new Loader();
var Target:URLRequest=new URLRequest("TestMe.swf");
addChild(MainLoader);
MainLoader.load(Target);
TestButton.addEventListener(MouseEvent.CLICK, TestButtonEvent, false, 0, true);
function TestButtonEvent(event:Event):void {
var Movie: *= MainLoader.content;
var Clip: MovieClip = Movie;
Clip.TestMeInternalFunction();
Clip.InternalTestValue = "Test123";
trace(Clip.InternalTestValue);
// die oberen Zugriffe liefern korrekte Ergebnisse.
}
Zuletzt bearbeitet: