エレガントな方法で flashvars を操作したい場合は、 TempleライブラリのFlashVars クラスを使用できます。このクラスは flashvars のラッパーであるため、Stage がない場所でもアクセスできます。
各 flashvar のデフォルトとクラスタイプを個別に設定できます。FlashVarNames 列挙型クラスと組み合わせると、アプリケーションでどの flashvars が使用されているかがわかります。
メインファイルで一度 FlashVars をインスタンス化/構成する必要があります。
package
{
import temple.data.flashvars.FlashVars;
import flash.text.TextField;
public class FlashVarsExample extends DocumentClassExample
{
private static const _LANGUAGE:String = 'language';
private static const _VERSION:String = 'version';
private static const _IS_DEMO:String = 'is_demo';
public function FlashVarsExample()
{
FlashVars.initialize(this.loaderInfo.parameters);
FlashVars.configureVar(_LANGUAGE, 'nl', String);
FlashVars.configureVar(_VERSION, 1, int);
FlashVars.configureVar(_IS_DEMO, true, Boolean);
var txt:TextField = new TextField();
txt.width = 550;
txt.height = 400;
this.addChild(txt);
trace('FlashVars.getValue(_LANGUAGE) : ' + FlashVars.getValue(_LANGUAGE) + "\n");
trace('FlashVars.getValue(_VERSION) : ' + FlashVars.getValue(_VERSION) + "\n");
trace('FlashVars.getValue(_IS_DEMO) : ' + FlashVars.getValue(_IS_DEMO) + "\n");
trace(FlashVars.dump());
}
}
}