在应用程序中使用 FlashVars

使用 FlashVars 将变量传递到 Flash 中类似于随 HTML 代码中的 URL 传递变量。使用 FlashVars,不用在文件名后面传递变量,变量是在单独的 param 标签以及在 embed 标签中传递的。

在文档中使用 FlashVars:

  1. 创建一个新的 Flash 文档并将它命名为 myflashvars.fla
  2. 选择"文件">"发布设置",确保选择了该 HTML,然后单击"确定"关闭对话框。
  3. 将下面的 ActionScript 添加到主时间轴中的第 1 帧:
    this.createTextField("myTxt", 100, 0, 0, 100, 20);
    myTxt.autoSize = "left";
    if (_level0.myURL == undefined) {
        myTxt.text = "myURL is not defined";
    } else {
        myTxt.text = _level0.myURL;
    }
    

    注意

    默认情况下,HTML 代码发布到 myflashvars.fla 文件所在的位置。

  4. 选择"文件">"发布"来发布 SWF 和 HTML 文件。
  5. 打开包含发布的文件的目录(硬盘上保存 myflashvars.fla 的位置)并在 HTML 编辑器(如 Dreamweaver 或 Notepad)中打开该 HTML 文档(默认情况下为 myflashvars.html)。
  6. 添加下面以粗体显示的代码,使您的 HTML 文档与以下各项匹配:
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="myflashvars" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="myflashvars.swf" />
    <param name="FlashVars" value="myURL=http://weblogs.adobe.com/">
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <embed src="myflashvars.swf" FlashVars="myURL=http://weblogs.adobe.com/" quality="high" bgcolor="#ffffff" width="550" height="400" name="myflashvars" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
    </object>
    

    此代码传递名为 myURL 的单个变量,该变量中包含字符串 http://weblogs.macromedia.com。加载 SWF 文件时,在 _level0 范围内创建一个名为 myURL 的属性。使用 FlashVars 或将变量随 URL 传递的优点之一是,在 SWF 文件加载时变量在 Flash 中便随即可用。这意味着无须编写任何函数来检查变量是否已完成加载,而在使用 LoadVars 或 XML 加载变量时需要编写函数进行检查。

  7. 保存对 HTML 文档所做的更改,然后关闭它。
  8. 双击 myflashvars.html 对应用程序进行测试。

    文本 http://weblogs.macromedia.com(HTML 文件中的一个变量)出现在 SWF 文件中。

    注意

    所有浏览器都将支持长达 64K(65,535 字节)的字符串长度。为了能在所有浏览器中使用,必须在 objectembed 标签上指定 FlashVars。