WEB开发网
开发学院图形图像Flash as3与as2之间ExternalInterface的区别 阅读

as3与as2之间ExternalInterface的区别

 2012-02-06 12:15:42 来源:本站整理   
核心提示:在页面上用php?name=as3">as3写与js的传值没什么问题.但是当用一个c#写的exephp?name=%E6%96%87%E4%BB%B6">文件传值时(php?name=flash">flash是被嵌在exe里的),as3的addcallback函数始终接收不到.换成php?

在页面上用php?name=as3">as3写与js的传值没什么问题.
但是当用一个c#写的exephp?name=%E6%96%87%E4%BB%B6">文件传值时(php?name=flash">flash是被嵌在exe里的),as3的addcallback函数始终接收不到.
换成php?name=as2">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的规范和严谨.

Tags:as as 之间

编辑录入:coldstar [复制链接] [打 印]
赞助商链接