我正在尝试将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
值。
答案 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。