宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

as3与as2之间ExternalInterface的区别

2016-10-13 00:16:48 点击量:7 标签: 收藏本文

在页面上用as3写与js的传值没什么问题.
但是当用一个c#写的exe文件传值时(flash是被嵌在exe里的),as3的addcallback函数始终接收不到.
换成as2的ExternalInterface,立马就通了.
原因何在呢?

as2:===================
import flash.external.ExternalInterface;
ExternalInterface.addCallback("callBackFlash",null,callback_handle);

ExternalInterface.call("waitForFirstASCall","flash is ready!");

_btn.onRelease=function(){
_mc.rotation+=20;
}
function callback_handle(str:String){
//_txt.text="asd";
_txt.text=str;

}

=======================


as3:====================
import flash.external.ExternalInterface;
import flash.events.MouseEvent;
ExternalInterface.addCallback("callBackFlash",callback_handle);
_btn.addEventListener(MouseEvent.CLICK,btnClick);
if(ExternalInterface.available){
ExternalInterface.call("waitForFirstASCall","flash is ready!");
}
function btnClick(evt:MouseEvent):void{
_mc.rotation+=20;
}
function callback_handle(str:String):void{
_txt.text=str as String;

}
========================

找到原因了,原来是c#程序员传了2个参数过来,而对于as2是不限制的,所以发生了这个现象.
这更说明了as3的规范和严谨.

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室