-2

私は助けが必要です!Flash AS3 で画像の URL を読み込みたいのですが、画像を表示する JavaScript の次のコードがあります。ただし、同じ参照をFlashにロードしたい..

FB.api('/me?fields=username', function(response) { 
function detect(URL) {
       var image = new Image();
       image.src = URL;
       image.onload = function() {
       var result = 'result'; // An example result
    }
document.body.appendChild(image)
}
detect("https://graph.facebook.com/" + response.username + "/picture?width=200&height=200");
4

2 に答える 2

1

Loaderクラスを使用して Actionscript 3 に画像をロードします。

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;

function loadImage(url:String):void
{
    var l:Loader = new Loader();
    var r:URLRequest = new URLRequest(url);

    l.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
    l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    l.load(r);

    function onLoadError(e:IOErrorEvent):void
    {
        trace("Couldn't load image.");
        e.target.removeEventListener(Event.COMPLETE, onLoadComplete);
        e.target.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    }

    function onLoadComplete(e:Event):void
    {
        trace("Load completed!");
        e.target.removeEventListener(Event.COMPLETE, onLoadComplete);
        e.target.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);

        stage.addChild(e.target.content); // e.target.content holds the loaded bitmap
    }
}

アップデート

コールバックと を使用して、Javascipt からの呼び出しをリッスンできますExternalInterface

if(ExternalInterface.available) // check that SWF is running in a browser
    ExternalInterface.addCallback("loadImage", loadImage);

次に、SWF への参照を使用して Javascript から関数を呼び出します。たとえば、Flash が次のように埋め込まれている場合:

<embed src="flash.swf" id="myFlash" width="800" height="600" />

document.getElementById()Javascript のメソッドを使用して参照を取得できます。

var swf = document.getElementById("myFlash"); // get a reference
swf.loadImage(myURL); // call your AS3 function

更新 1

この簡単な例を作成して、試してみて、私が言っていることを理解してください:例をダウンロード

Chrome で問題が発生している埋め込みタグを使用して埋め込んだため、これは Firefox でのみ機能することに注意してください。ただし、正しく埋め込むと、クロスブラウザーで機能します。

于 2013-07-11T06:47:46.320 に答える