用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]
查看示例
点击下载源文件

There are some attention-grabbing closing dates on this article however I don’t know if I see all of them middle to heart. There may be some validity but I will take hold opinion until I look into it further. Good article , thanks and we wish more! Added to FeedBurner as nicely
[Reply]
It is proven time and time again that information’s worth is not the main factor which impacts article promotion results. Instead, the degree at which you manage to broadcast information as speedily as possible. And I’m not referring to article distribution, but to the fluency of your writing.
[Reply]
Simply saying thanks won’t just be enough, for the wonderful readability in your documentation. I will instantly grab your rss feed to remain knowledgeable of any updates. Admirable work and far success in your online business endeavors!
[Reply]
copy edit: I think you mean ‘your’. Excellent article though!
[Reply]
站长把你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]