AS3 - 将可变数据从 HTML 页传递到闪存

AS3 - Pass variable data from HTML page into flash

我有一个 SWF 文件形式的音乐播放器,我需要帮助转换我的静态 AS3 源路径:

var url :URLRequest = new URLRequest("images/logo.jpg");
var req:URLRequest = new URLRequest("click.mp3");

...进入可以从HTML页面传入的参数。我想做这样的事情:

<object width="480" height="270" data="soundplayer.swf" sound="click.mp3" image="logo.jpg"></object>`

我要寻找的最终结果是在 HTML 代码中指定声音和图像路径,而不是在我的 SWF 文件中进行硬编码。

您可以通过 FlashVars

完成此操作

您在对象标签中添加了一个 <param> 节点,名称为 FlashVars,值应该是 url 编码的查询字符串变量。

所以你的场景,这将是你的对象标签的开始:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="270">
    <param name="movie" value="soundplayer.swf" />
    <param name="FlashVars" value="sound=click.mp3&image=logo.jpg" />

然后在 AS3 中,您可以按如下方式访问它们:

var flashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;

var url:URLRequest = new URLRequest("images/" + flashVars.image);
var req:URLRequest = new URLRequest(flashVars.sound);