2
我有一個SWF,我稱之爲作爲獲取SWF布爾參數
/SWFUploader/upload.swf?single=true
然後在ActionScript 3我在值讀取。但它不起作用。這裏是我的測試代碼(第一個塊是從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);
而令人沮喪的這是追蹤所產生的兩行:
single = true
false, false, false, false
我在做什麼錯?
啊,這是一個鑄造問題。如果我用String代替了上面的一些代碼而不是布爾值,那麼所有的跟蹤都是「真實的」。所以我的問題可能只是:如何在ActionScript中將參數值String:「true」轉換爲Boolean:true(爲什麼它不會發生)? – dumbledad
如果你想獲得一個變量的類型,試試這個'trace(typeof(isSingle));' – mgraph
感謝mgraph,這是一個用於調試這類問題的有用的ActionScript。 – dumbledad