0

我正在尝试通过修改从 Flash CS5 发布的标准 HTML 将 flashvars 读入我的 flash 文件。以下不起作用:

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    <head> 
        <title>flashVarsTests</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <style type="text/css" media="screen"> 
        html, body { height:100%; background-color: #ffffff;}
        body { margin:0; padding:0; overflow:hidden; }
        #flashContent { width:100%; height:100%; }
        </style> 
    </head> 
    <body> 
        <div id="flashContent"> 
            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="flashVarsTests" align="middle"> 
                <param name="movie" value="flashVarsTests.swf" /> 
                <param name="quality" value="high" /> 
                <param name="bgcolor" value="#ffffff" /> 
                <param name="play" value="true" /> 
                <param name="loop" value="true" /> 
                <param name="wmode" value="window" /> 
                <param name="scale" value="showall" /> 
                <param name="menu" value="true" /> 
                <param name="devicefont" value="false" /> 
                <param name="salign" value="" /> 
                <param name="allowScriptAccess" value="sameDomain" /> 
                <param name="flashvars" value="message1=HelloWorld&message2=HeyGuy" /> 
                <!--[if !IE]>--> 
                <object type="application/x-shockwave-flash" data="flashVarsTests.swf" width="550" height="400"> 
                    <param name="movie" value="flashVarsTests.swf" /> 
                    <param name="quality" value="high" /> 
                    <param name="bgcolor" value="#ffffff" /> 
                    <param name="play" value="true" /> 
                    <param name="loop" value="true" /> 
                    <param name="wmode" value="window" /> 
                    <param name="scale" value="showall" /> 
                    <param name="menu" value="true" /> 
                    <param name="devicefont" value="false" /> 
                    <param name="salign" value="" /> 
                    <param name="allowScriptAccess" value="sameDomain" /> 
                    <param name="flashvars" value="message1=HelloWorld&message2=HeyGuy" /> 
                <!--<![endif]--> 
                    <a href="http://www.adobe.com/go/getflash"> 
                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> 
                    </a> 
                <!--[if !IE]>--> 
                </object> 
                <!--<![endif]--> 
            </object> 
        </div> 
    </body> 
</html> 

动作脚本:

this.loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);

function loaderComplete(myEvent:Event)
{
  var flashVars=this.loaderInfo.parameters;
  var msg1:String=flashVars.message1;
  var msg2:String=flashVars.message2;
  text1.text=msg1;
  text2.text=msg2;
}

谢谢-

4

2 回答 2

1

TLF TEXT 控件存在问题,当您将其添加到舞台时,flashvars 开始无法正常工作。只是不要使用它,你的 flashvars 会正常工作。我遇到了同样的问题,我通过不使用 TLF TEXT 控件解决了这个问题。

于 2011-08-14T19:01:33.507 回答
0

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

这是一个关于如何做到这一点的冗长教程:http: //blog.six4rty.ch/tutorials/flash-flashvars-in-as3/

于 2010-10-01T14:34:37.837 回答