将数据从HTML发送到Actionscript3

时间:2014-12-18 12:45:28

标签: html actionscript-3 flash-cs5 flashvars

我正在尝试将HTML中的用户名发送到ActionScript 3。 我提到了this教程

HTML代码:

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>      
    <object width="100" height="100">
        <param name="movie" VALUE="test.swf">
        <param name="FlashVars" VALUE="userName=permadi">
        <embed src="test.swf" FlashVars="userName=permadi" width="1024" height="768">
        </embed>
    </object>
</body>
</html>

Actionscript3代码:

 function loaderComplete(myEvent:Event)
{
  var flashVars=this.loaderInfo.parameters;
  userNameTextField.text=flashVars.userName;
}

var flashVars=new Object();
flashVars.loaderCOmplete:function=loaderComplete;
this.loaderInfo.addEventListener(Event.COMPLETE, flashVars.loaderComplete);

swf 文件中的userNameTextField不会显示userName值。

1 个答案:

答案 0 :(得分:3)

要获得flashvars,您可以这样做:

this.loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
function loaderComplete(myEvent:Event)
{
    var flashVars =  this.loaderInfo.parameters;
    // verify if your flash var is set
    if(flashVars.userName){
        userNameTextField.text = flashVars.userName;
    }
}

或者只是这样:

// verify if your flash var is set and set a default value if not, if you want of course
userNameTextField.text = this.loaderInfo.parameters.userName ? this.loaderInfo.parameters.userName : 'default value';

并且不要忘记将您的字体嵌入flash中说:“字体应该嵌入到可以在运行时编辑的任何文本中,而不是使用”使用设备字体“设置的文本。使用文本&gt ;字体嵌入命令嵌入字体。“,你可以在这里看到如何embed fonts for a dynamic text field