作者ben0209 (邦邦)
看板Flash
標題Re: [問題] Loader傳值的問題
時間Thu Sep 22 01:09:29 2011
a.fla, frame 1 的 as:
import flash.events.Event;
import flash.display.Loader;
if(stage)
traceHtmlParam();
else
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
function onAddedToStage(e:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
trace(this.name, "onAddedToStage()");
traceHtmlParam();
}
function traceHtmlParam():void{
trace(this.name, "traceHtmlParam()");
var parms:Object = stage.loaderInfo.parameters;
for(var key:String in parms)
trace(this.name, key, parms[key]);
}
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, on_loader_complete);
loader.load(new URLRequest("b.swf"));
function on_loader_complete(e:Event):void{
trace(this.name, "on_loader_complete()");
this.addChild(loader);
}
b.fla, frame 1 的 as:
import flash.events.Event;
if(stage)
traceHtmlParam();
else
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
function onAddedToStage(e:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
trace(this.name, "onAddedToStage()");
traceHtmlParam();
}
function traceHtmlParam():void{
trace(this.name, "traceHtmlParam()");
var parms:Object = stage.loaderInfo.parameters;
for(var key:String in parms)
trace(this.name, key, parms[key]);
}
a.html 中,增加 flashvars 參數:
<param name="flashvars" value="v1=abc,v2=123" />
執行 a.html 後,輸出資料為:
root1 traceHtmlParam()
root1 v2 123
root1 v1 abc
root1 on_loader_complete()
instance2 onAddedToStage()
instance2 traceHtmlParam()
instance2 v2 123
instance2 v1 abc
證明同一種做法,在 a.swf 與 b.swf 中,都可以抓得到
※ 引述《hirabbitt (兔子)》之銘言:
: 我用FLASHVAR把值從網頁傳到FLASH中
: 但是我忘記中間有一層FLASH LOADER
: 所以我目前只能把值傳給LOADER
: 請問如何在LOADER的時候把兩個值傳給另一個FLASH呢?
: 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.80.89.205
→ KawasumiMai:拜讀,也許我也用得到XD 09/22 02:11
推 dsmwang:NICE!看到這個才懂html傳值的作法XD 09/22 10:26