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));
}

如果您有位图,请使用 loadBytes() 方法而不是 load(),这是示例:

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 回答