於JS中呼叫AS3函數並傳遞參數方法 ExternalInterface.addCallback();
1、JS部分,Code範例為JS按鈕事件觸發後呼叫AS3函數changeBall
<script language="javascript">
var $asvalue="test"; //宣告變數$asvalue,變數值為test
//瀏覽器兼容判斷
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft")!= -1) {
return window[movieName];
} else {
return document[movieName];
}
}
function callExternalInterface(){
thisMovie("SWF名稱").changeBall('$asvalue'); //changeBall為欲呼叫之as函數,$asvalue為js欲傳遞到as3的參數值。 }
</script>
<form><input type=button value="JS按鈕" onclick="callExternalInterface()"></input></form>
var $asvalue="test"; //宣告變數$asvalue,變數值為test
//瀏覽器兼容判斷
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft")!= -1) {
return window[movieName];
} else {
return document[movieName];
}
}
function callExternalInterface(){
thisMovie("SWF名稱").changeBall('$asvalue'); //changeBall為欲呼叫之as函數,$asvalue為js欲傳遞到as3的參數值。 }
</script>
<form><input type=button value="JS按鈕" onclick="callExternalInterface()"></input></form>
2、AS部分,Code範例為JS按鈕事件觸發後AS3接收JS所傳遞過來的參數$asvalue
import flash.external.*;
ExternalInterface.addCallback("changeBall",$asvalue);
function changeBall($asvalue){
trace($asvalue); //輸出結果為js中傳遞變數直"test";}
ExternalInterface.addCallback("changeBall",$asvalue);
function changeBall($asvalue){
trace($asvalue); //輸出結果為js中傳遞變數直"test";}
教學撰寫:徐嘉裕(Neohsu)
留言
張貼留言