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的规范和严谨.
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室