gpt4 book ai didi

javascript - 如何使用 Javascript 向 Actionscript 发送值

转载 作者:行者123 更新时间:2023-11-28 12:06:50 26 4
gpt4 key购买 nike

我想向 Actionscript 发送一个 float 变量。

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

我尝试在 JavaScript 中使用 parseFloat()value * 1,但它不起作用。

最佳答案

你的问题很模糊。不过,这里是:

有 2 种(编辑为 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);

如果您使用<object>标签,然后添加 flashVar,如下所示:

 <object id='mySwf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' height='100%' width='100%'>
<param name='src' value='FlashVarTest.swf'/>
<param name='flashVars' value='myVariable=3.14159'/>
<embed name='mySwf' src='FlashVarTest.swf' height='100%' width='100%' flashVars='myVariable=3.14159'/>
</object>

无论您的嵌入方法如何,您都可以像这样访问 AS3 中的 flashVars:

如果您使用的是 Flex SDK:

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

如果您没有使用 Flex SDK:

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

关于javascript - 如何使用 Javascript 向 Actionscript 发送值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com