0

動的に作成された複数の画像があり、場合によっては画像を変更したい。それらを配列に保存することはできますが、配列から取得して画像を変更(別の画像をロード)するにはどうすればよいですか?私が配列を持っているとしましょう:

var ImagesArray:Array = [];

ローダーオブジェクトをプッシュして、ImagesArray[0]またはImagesArray[1]のイメージを変更(新しいロード)したい...次のようになります。

var loaderNew:Loader = new Loader();
loaderNew = ImagesArray[i];
loaderNew.load(new URLRequest("../lib/NewImg.png"));

ありがとう、

4

1 に答える 1

0

画像を変更するだけの場合は、新しいローダーを作成する必要はありません。画像のURLを更新する関数の例を次に示します。

private function changeImageByIndex(i:int, url:String):void    
{
    var loader:Loader = ImagesArray[i] as Loader;
    if (!loader)
    {
        loader = new Loader();
        addChild(loader);       
        ImagesArray[i] = loader;
    }
    loader.load(new URLRequest(url));
}

ビットマップがある場合は、load()の代わりにloadBytes()メソッドを使用します。例を次に示します。

var bitmap:Bitmap = new Bitmap(new BitmapData(100, 100, true, 0xff0000));
var encoder:JPEGEncoder = new JPEGEncoder();
loader.loadBytes(encoder.encode(bitmap.bitmapData));
于 2013-01-22T06:52:12.463 に答える