2014-12-18 9 views
2

Я пытаюсь отправить имя из HTML в ActionScript 3. И я говорил this учебникОтправить данные из HTML в ActionScript3

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); 

Но userNameTextField в swf файл не отображается userName v ALUE.

ответ

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'; 

И не забудьте встроить шрифт в качестве флэш сказал: "шрифты должен быть встроен для любого текста, который может быть отредактирован во время выполнения, кроме текста, с настройкой «Использовать шрифты устройства». Используйте команду «Текст»> «Вставка шрифтов» для встраивания шрифтов. », вы можете увидеть здесь, как embed fonts for a dynamic text field.

+0

Почему бы не 'userNameTextField.text = this.loaderInfo.parameters.userName || 'default value'; '? – Cherniv

+0

@ Чернов Да, это тоже возможно, но я старался сделать это легко. – akmozo