当前位置:  开发笔记 > 编程语言 > 正文

如何使用Javascript向Actionscript发送值

如何解决《如何使用Javascript向Actionscript发送值》经验,为你挑选了1个好方法。

我想将一个float变量发送到Actionscript.

我用window.document.setVariable(),但它只支持类型String,并忽略0和指向(.)

我尝试使用parseFloat(),并value * 1在JavaScript,但它不工作.



1> Pranav Hosan..:

你的问题很模糊.不过,这里有:

有两种(编辑为3种)方法可以从html中将变量导入Flash.两者都使用这个ExternalInterface

(1):将变量拉入ActionScript

//JavaScript:
var myVariable=3.14159; //or whatever you want to set it as

function getMyVariable() {
    return myVariable;
}


//Flash
var myVariable:Number=ExternalInterface.call("getMyVariable");

(2):将变量推入ActionScript

//Flash
ExternalInterface.addCallback("pushVar", varPushed);
var myVariable:Number=0;
function varPushed(x:Number):void {
    myVariable=x;
}



//JavaScript
var myVariable=3.14159; //or whatever you want to set it as
var fl = document.getElementById('myflashobject');
fl.pushVar(myVariable);

编辑 (3):使用flashVars

如果使用swfObject,则使用以下行添加flashVars:

var flashvars = {}; 
    flashvars.myVariable=3.14159
...
...
swfobject.embedSWF( 
    "FlashVarTest.swf", "flashContent", "100%", "100%", swfVersionStr, 
    xiSwfUrlStr, flashvars, params, attributes); 

如果你使用标签,那么你添加flashVars如下:

 
        
        
        
    

无论您使用嵌入方法,都可以在AS3中访问flashVars,如下所示:

如果您使用的是Flex SDK:

var myVariable:Number = FlexGlobals.topLevelApplication.parameters.myVariable;

如果您不使用Flex SDK:

var myVariable:Number =Number(LoaderInfo(this.root.loaderInfo).parameters.myVariable);

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有