2010-02-04 97 views
0

我無法從JSFL調用SWFPanel以通過ExternalInterface API工作。我下面的說明here如下:Flash JSFL ExternalInterface問題

在SWF面板,在現場1動作1,我註冊一個回調函數與ExternalInterface的:

ExternalInterface.addCallback("appendTrace", this, appendTrace); 

function appendTrace(traceString:String):Void { 
    trace("appendTrace"); 
    traceBox.text = traceBox.text + traceString; 
} 

然後在我的JSFL我通過SWF面板迭代定位瑞士法郎面板,然後調用appendTrace方法如下:

appendTrace("Received trace"); 
fl.trace("got here"); 
function appendTrace(traceString) { 
var panels = fl.swfPanels; 
var myPanel; 
for (var i = 0; i < panels.length; i++) { 
    if (panels[i].name == 'MyPanel') { 
     myPanel = panels[i]; 
     break; 
    } 
} 
if (myPanel) { 
    myPanel.call("appendTrace", traceString); 
} else { 
    fl.trace("Can't find Panel. Is it installed?"); 
} 
} 

myPanel.call("appendTrace", traceString);稱爲但沒有被跟蹤,所附和不會引發錯誤所以看來ExternalInterface的不愈傷組織ng appendTrace方法。似乎一切都設置正確,但已嘗試了幾件事情,它不工作。這種方法有哪些常見的問題?

回答

0

問題是我使用的是AS2而不是AS3。上述SWFPanel < - > JSFL通信需要AS3 SWF面板。一旦我切換到AS3它工作。

+0

查看MMExecute以及 – 2010-09-20 16:44:16