作者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
1F:→ KawasumiMai:拜读,也许我也用得到XD 09/22 02:11
2F:推 dsmwang:NICE!看到这个才懂html传值的作法XD 09/22 10:26