JSFL から SWFPanel への呼び出しを取得して、ExternalInterface API 経由で動作させることができません。私は次のようにここの指示に従っています:
SWF パネルのシーン 1 アクション 1 で、コールバック関数を ExternalInterface に登録します。
ExternalInterface.addCallback("appendTrace", this, appendTrace);
function appendTrace(traceString:String):Void {
trace("appendTrace");
traceBox.text = traceBox.text + traceString;
}
次に、JSFL で、swf パネルを反復処理して 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 が appendTrace メソッドを呼び出していないように見えます。すべてが適切にセットアップされているようですが、いくつかのことを試しましたが、機能していません。このアプローチの一般的な落とし穴は何ですか?