2012-07-05 64 views
0

我試圖將2個變量從javascript傳遞給flash。我想我可以做這樣的事情,我as3嘗試並接受它們。帶兩個參數的ExternalInterface.addCallback

ExternalInterface.addCallback("callAs", muscle, tension); 

可悲的是,這將引發一個錯誤

1137:參數數目不正確。預計不超過2.

有沒有辦法發送2個變量,而不是每次都必須進行2次調用?

在此先感謝! 樹脂

回答

7

這是可能的。

ExternalInterface.addCallback("theFunctionNameInJavascript", theFunctionNameInActionscript); 

function theFunctionNameInActionscript(param1:String, param2:String):void { 
//do something with param1; 
//do something with param2; 

} 

然後在Javascript中你會像...

<!-- work out if we are on Mac or PC --> 
function getFlashMovie(movieName) { 
    var isIE = navigator.appName.indexOf("Microsoft") != -1; 
    return (isIE) ? window[movieName] : document[movieName]; 
} 

function theFunctionNameInJavascript(swf, param1, param2) { 
    getFlashMovie(swf).theFunctionNameInActionscript(param1, param2); 
} 

而且你會喜歡的東西觸發此...

<form action="javascript:theFunctionNameInJavascript('idNameOfYourSWF', 'thisisparam1', 'thisIsParam2')" id="form"> 
<input type="submit" value="Click Me" /> 
</form> 
+0

我改劇本了一點,但我認爲這會奏效。當然給了我理解,讓我的工作;)謝謝! – Resin01 2012-07-05 16:01:18