·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

as3与as2之间ExternalInterface的区别

时间:2012-01-11 18:019ria.com
在页面上用as3写与js的传值没什么问题.但是当用一个c#写的exe文件传值时(flash是被嵌在exe里的),as3的addcallback函数始终接收不到.

在页面上用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的规范和严谨.

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器