【问题标题】:Send data from HTML to Actionscript3将数据从 HTML 发送到 Actionscript3
【发布时间】:2015-02-17 06:15:05
【问题描述】:

我正在尝试将用户名从 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 值。

【问题讨论】:

    标签: html actionscript-3 flash-cs5 flashvars


    【解决方案1】:

    要获取您的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 所说:“字体应该嵌入任何可以在运行时编辑的文本,除了具有“使用设备字体”设置的文本。使用文本 > Font Embedding 命令用于嵌入字体。”,您可以在此处查看如何embed fonts for a dynamic text field

    【讨论】:

    • 为什么不userNameTextField.text = this.loaderInfo.parameters.userName || 'default value';
    • @Cherniv 是的,也有可能,但我尽量做到简单。
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多