FlashVars mit AS3

Ich arbeite gerade an einem Projekt und musste es aus mehreren Gründen auf AS3 umstellen. Dabei hatte ich früher über die FlashVars Parameter an mein SWF-Dokument übergeben. Früher waren die Variablen dann auch direkt in Flash verfügbar. Doch jetzt geht das nicht mehr. Es ist auch gut so, denn man konnte früher auf diese Art fremden Code einschleusen. Aber wie kann man das jetzt benutzen? Ganz einfach. Die Parameter werden in einem Objekt in der LoaderInfo Klasse gespeichert und man kann sie durch eine For-Schleife abfragen. Wenn man in der Dokumentation „FlashVars“ eingibt, dann ist das auch der einzige Eintrag der unter ActionScript3 rauskommt. Die Entwickler waren wohl der Meinung, dass diese Form der Parameterübergabe keine Zukunft hat, da die Kommunikation mit JavaScript verbessert wurde und haben das ziemlich tief vergraben.

Hier mal der Code mit es klappt:

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
var txt:TextField = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.border = true;
addChild(txt);
try 
{
    var key:String;
    var val:String;
 
    var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
    for (key in params) 
    {
        val = String(params[key]);
        txt.appendText(key + "=" + val + "\n");
     }
 
} 
catch (error:Error) 
{
    txt.appendText(error);
}

2 Comments

  1. Frieder Sönning sagt:

    Sehr schön, hat mir weitergeholfen :)
    Das inet is ja so klein, ich such nach AS3 und lande auf deinem Blog :D
    Gruß!

  2. admin sagt:

    Witzig :D
    Dabei schreibe ich hier relativ selten was ^^

Kommentieren