【问题标题】:external interface外部接口
【发布时间】:2009-01-13 16:55:36
【问题描述】:

我在 java 脚本中有一个 calc 函数,它接受三个整数参数, 以下是AS3代码

import flash.external.ExternalInterface;
var para:Array = new Array();
send_btn.addEventListener(MouseEvent.CLICK, clickListener);
function clickListener(eventObj:Object ):void {
    para.push(mean.text);
    para.push(std.text);
    para.push(points.text);
    trace("click > " + para);
    ExternalInterface.call("calc",para );
}    

这是正确的做法吗?如何从 javascript 中取回 3 个参数并将它们显示在 flash 中?

【问题讨论】:

  • 您可能刚刚编辑了您之前的问题:stackoverflow.com/questions/435763/…
  • 这仍然是个问题吗?否则接受答案,以便将问题从“未回答”列表中删除。谢谢

标签: javascript flash interface external


【解决方案1】:

此外,您需要注册您的 AS 函数,以便容器可以使用它:

ExternalInterface.addCallback("callFlash", myASFunction);

然后,从您的容器 (JS) 中调用 AS 函数并将您想要的任何参数传递给它。

<script language="JavaScript"> 

    flashObject.callFlash(param1, param2, param3); 
</script> 

... 

<object id="flashObject"...> 
    ... 
    <embed name="flashObject".../> 
</object>

最后,在 AS3 中,您编写将在容器“回调”时执行的函数:

function myASFunction(param1:String,param2:String,param3:String):void {
    trace("\n Received call from JS: " + param1 + param2 + param3);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多