用AS2时,可以直接把参数加在flash的尾部,如:demo.swf?u1=good&u2=bad
在flash里就默认u1,u2为根变量。可以使用_root.u1和_root.u2来得到值
但到了AS3里面这样做已经不行了。
要用到flash.display.loaderInfo类的parameters属性,返回的是一个参数对象
使用方法:
例如在文档类中定义var param:Object = root.loaderInfo.parameters;
如果取u1的值,可以用param["u1"],同样u2的值:param["u2"]
做了个小例子,document class如下:
[code][color=#000000]package [color=#0000ff]{
[color=#800000]import [color=#0000a0]flash[color=#0000ff].[color=#0000a0]display[color=#0000ff].[color=#0000a0]Sprite[color=#0000ff];
[color=#800000]import [color=#0000a0]flash[color=#0000ff].[color=#0000a0]display[color=#0000ff].[color=#0000a0]Stage[color=#0000ff];
[color=#800000]import [color=#0000a0]flash[color=#0000ff].[color=#0000a0]display[color=#0000ff].[color=#0000a0]StageScaleMode[color=#0000ff];
[color=#800000]import [color=#0000a0]flash[color=#0000ff].[color=#008000]text[color=#0000ff].[color=#0000a0]TextField[color=#0000ff];
[color=#800000]import [color=#0000a0]flash[color=#0000ff].[color=#008000]text[color=#0000ff].[color=#0000a0]TextFieldAutoSize[color=#0000ff];
[color=#00a0c0]public class LoaderInfoDemo [color=#00a0c0]extends [color=#0000a0]Sprite [color=#0000ff]{
[color=#00a0c0]public [color=#800000]function LoaderInfoDemo[color=#0000ff]([color=#0000ff])[color=#0000ff]{
stage[color=#0000ff].[color=#008000]scaleMode [color=#0000ff]= [color=#0000a0]StageScaleMode[color=#0000ff].NO_SCALE[color=#0000ff];
[color=#800000]var out_txt[color=#0000ff]:[color=#0000a0]TextField [color=#0000ff]= createText[color=#0000ff]([color=#0000ff])[color=#0000ff];
out_txt[color=#0000ff].[color=#008000]border [color=#0000ff]= [color=#0000a0]true[color=#0000ff];
out_txt[color=#0000ff].[color=#008000]borderColor [color=#0000ff]= 0xFF6600[color=#0000ff];
out_txt[color=#0000ff].y [color=#0000ff]= 20[color=#0000ff];
[color=#5000a0]addChild[color=#0000ff](out_txt[color=#0000ff])[color=#0000ff];
[color=#800000]var info_txt[color=#0000ff]:[color=#0000a0]TextField [color=#0000ff]= createText[color=#0000ff]([color=#0000ff])[color=#0000ff];
info_txt[color=#0000ff].[color=#008000]text [color=#0000ff]= [color=#ff00ff]"修改loaderInfoDemo.swf?msg=xxx中的xxx值,然后回车"[color=#0000ff];
info_txt[color=#0000ff].[color=#008000]autoSize [color=#0000ff]= [color=#0000a0]TextFieldAutoSize[color=#0000ff].[color=#008000]LEFT[color=#0000ff];
[color=#5000a0]addChild[color=#0000ff](info_txt[color=#0000ff])[color=#0000ff];
[color=#800000]var param[color=#0000ff]:[color=#0000a0]Object [color=#0000ff]= root[color=#0000ff].loaderInfo[color=#0000ff].parameters[color=#0000ff];
[color=#800000]if[color=#0000ff](param[color=#0000ff][[color=#ff00ff]"msg"[color=#0000ff]][color=#0000ff]![color=#0000ff]=[color=#0000a0]null[color=#0000ff])[color=#0000ff]{
out_txt[color=#0000ff].[color=#008000]text [color=#0000ff]= param[color=#0000ff][[color=#ff00ff]"msg"[color=#0000ff]][color=#0000ff];
[color=#800000]trace[color=#0000ff]([color=#ff00ff]"value:"[color=#0000ff]+param[color=#0000ff][[color=#ff00ff]"msg"[color=#0000ff]][color=#0000ff])[color=#0000ff];
[color=#0000ff]}[color=#800000]else[color=#0000ff]{
out_txt[color=#0000ff].[color=#008000]text [color=#0000ff]= [color=#ff00ff]"null"[color=#0000ff];
[color=#800000]trace[color=#0000ff]([color=#ff00ff]"value:null"[color=#0000ff])[color=#0000ff];
[color=#0000ff]}
[color=#0000ff]}
[color=#00a0c0]private [color=#800000]function createText[color=#0000ff]([color=#0000ff])[color=#0000ff]:[color=#0000a0]TextField[color=#0000ff]{
[color=#800000]var tmp[color=#0000ff]:[color=#0000a0]TextField [color=#0000ff]= [color=#800000]new [color=#0000a0]TextField[color=#0000ff]([color=#0000ff])[color=#0000ff];
tmp[color=#0000ff].[color=#008000]selectable [color=#0000ff]= [color=#0000a0]false[color=#0000ff];
tmp[color=#0000ff].[color=#008000]width [color=#0000ff]= 100[color=#0000ff];
tmp[color=#0000ff].[color=#008000]height [color=#0000ff]= 20[color=#0000ff];
[color=#800000]return tmp[color=#0000ff];
[color=#0000ff]}
[color=#0000ff]}
[color=#0000ff]}[/code]
查看示例
点击下载源文件

站长把你QQ留下 交个朋友吧 挺佩服你的·!呵呵
[/reply]
[reply=auzn,2009-07-29 09:46 AM]呵呵, 谢谢支持, 我的号码:105052514 欢迎来交流
[Reply]
没有发布到服务器,直接在本地打开嵌入swf的网页 As3.0 IE 7 下测试通过。
[/reply]
[reply=auzn,2009-07-17 08:49 AM]好的, 谢谢你的提醒
[Reply]
to jupeter:
本地直接打开HTML是不起作用的
前面我提到过,呵呵
[Reply]
把FLASH 加到HTML 中 用 运行这个HTML 无法获取值
但是直接运行 play.swf?msg=asdfasdf
却可以 请问什么原因哟
[Reply]
当然测试过了
这个在本地测试,例如你把编译好的本地SWF文件直接用IE打开是不行的
要放到网上测试的,例如:
http://www.kingnare.com/temp/loaderInfoDemo.swf?msg=sdfdsfdsf
[Reply]
你这片文章,有没有测试过,为何我测试老是不成功
[Reply]
我也去申请个那样的播放器放博客[smile]
[Reply]
呵呵.这个是在http://music.aobo.com/申请的播放器服务.目前这个还在测试中.欢迎使用.
主站是http://www.aobo.com/以后会有不少的新服务及功能.
[Reply]
能告诉我右侧的AOBO播放器在哪里下载吗? 谢谢
[Reply]