2

私は私が呼ぶswfを持っています

/SWFUploader/upload.swf?single=true

次に、ActionScript3で値を読み込みました。しかし、それは機能していません。これが私のテストコードです(最初のブロックはhttp://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.htmlから取得されます):

var keyStr:String;
var valueStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
    valueStr = String(paramObj[keyStr]);
    trace(keyStr + " = " + valueStr);
}

var isSingle:Boolean = this.loaderInfo.parameters.single as Boolean;
var isSingle1:Boolean = this.loaderInfo.parameters['single'] as Boolean;
var isSingle2:Boolean = LoaderInfo(this.root.loaderInfo).parameters['single'] as Boolean;
var isSingle3:Boolean = LoaderInfo(this.root.loaderInfo).parameters.single as Boolean;
trace(isSingle + ", " + isSingle1 + ", " + isSingle2 + ", " + isSingle3);

そしてイライラすることに、これはトレースされた結果の2行です。

single = true
false, false, false, false

私は何が間違っているのですか?

4

1 に答える 1

6

ActionScriptでは、空でもnullでもない文字列はブール値にキャストされますtrue

var singleStr:String = this.loaderInfo.parameters.single;
var singleBool:Boolean = singleStr == "true";
于 2012-01-26T11:48:11.607 に答える