2

テキストの色と四角形の背景色をフラッシュから JavaScript に取得したいと考えています。これに最適な方法は何ですか?たとえば、フラッシュ ムービーが読み込まれるときに、そのテキストの色と四角形の背景色を JavaScript に送信したいとします。次に、javascript はこの色を html テキストボックスに表示します。これを行う方法はありますか?
ありがとう
アシッシュ

4

2 に答える 2

1

ExternalInterfaceクラスを使用できます

ActionScript

フラッシュ ムービーの初期化時に、必要な可能なコールバックを追加する必要があります。この場合、コールバックは必要ありません。JS を呼び出すだけです。とにかくそれを行う方法を知っているように、私はその方法を説明します)

import flash.external.ExternalInterface;

function init(){
    var jsready:Boolean = ExternalInterface.available;
    if(jsready) { //checks if External callbacks can be made
        sendColors();//send the colors when movie is initializing
        try{
            //You add the callback, when JS calls getColors, actionscript will call sendColors() function
            ExternalInterface.addCallback("getColors", sendColors);     
        } catch (error:SecurityError) { 
            trace("A SecurityError occurred: " + error.message + "");
        } catch (error:Error) {
            trace("An Error occurred: " + error.message + "");
        }
    }
}
function sendColors(){
    //send your colors to JS
    ExternalInterface.call('receiveColorsFromFlash',color1,color2);
}

Javascript

以下を使用した場合:

<object id="myflash1">
    <embed id="myflash2">
    </embed>
</oject>

または:

<object id="myflash1">
    <object id="myflash2">
    </object>
</oject>

複数のブラウザ用に、フラッシュをコードに埋め込む方法。埋め込みタグとオブジェクト タグの IDが異なることを確認してください。または、たとえば Firefox ブラウザーの場合、2 番目のオブジェクトの呼び出しは行われません。

これは、DOM にロードされた正しい Flash オブジェクトを常に返すこの関数を追加することで解決できます。これは時代遅れの (5 年前の) スニペットであり、もう機能しない可能性があります。これには、JQuery またはその他のソリューションを使用してください。

別の方法で flashobject (SWFObject.js またはその他) を埋め込む場合は、jquery / getElementByid を使用して 1 つのオブジェクトをターゲットにすることができます。

function thisMovie() {
        if (navigator.appName.indexOf("Microsoft") != -1) {
            return document.getElementById("myflash1");
        }else if (navigator.vendor.indexOf("Apple") != -1) {
            return document.getElementById("myflash1");
        } else {
            return document.getElementById("myflash2");
        }
}

Flash が呼び出す JS 関数:

function receiveColorsFromFlash(color1,color2) {
    //do your thing with the colors
}

フラッシュに色を要求する JS 関数

thisMovie().getColors();
于 2012-12-14T10:30:07.150 に答える
0

あなたはExternalInterfaceクラスを見ることができますhttp://www.spikything.com/blog/index.php/2009/08/23/externalinterface_howto/

于 2012-12-14T10:12:11.667 に答える