0

我有一個加載使用gSkinner的swfBridge一個Flash 8 AS2 SWF(客戶端)的Flash CS4 AS3 SWF(主機)。如何在由AS3 swf託管的AS2 swf中調用函數並將數組返回給AS3 swf? (使用SwfBridge)

這個偉大的工程和主機可以調用客戶端的功能沒有問題。不過,我希望能夠在客戶端調用一個函數,並讓該函數向主機返回一個數組。

這是我認爲的代碼會工作 -

主機(AS3)代碼 -

var hostArray:Array = new Array(); 
hostArray = mySwfBridge.send("getArray"); 

客戶(AS2)代碼

var theArray = new Array("item1, item2, item3); 
function getArray() :Array { 
    return theArray; 
} 

什麼想法?

回答

2

您暴露的問題是LocalConnection(由SwfBridge使用)是否異步調用。換句話說,調用者腳本的執行不會暫停執行,以等待調用函數的結果。

如果你需要從你需要將它設置爲雙向工作LocalConnection的另一側檢索值。即您的客戶端腳本必須通過LocalConnectionSwfBridge在這種情況下)發送其結果反饋給主機對象的回調方法,而不是通過return這樣做。

+0

感謝西奧,由一個回調方法,你的意思是,當被調用函數完成我只是調用一個函數在原調用處理會是怎樣被return語句發送。我曾想過這件事,但認爲這有點不整潔......如果這是唯一的方式,但...很多謝謝:) – undefined 2009-05-26 14:17:35

相關問題