修改保存在数组中的动态创建对象

时间:2013-01-21 09:08:59

标签: actionscript-3 actionscript

我有多个动态创建的图像,我想在某些情况下更改图像。我可以将它们保存在一个数组中,但是如何通过从数组中获取它来更改图像(加载另一个图像)。 让我们说我有一个数组:

var ImagesArray:Array = [];

我推送它加载器对象,并希望更改(加载新)ImagesArray [0]或ImagesArray [1]的图像......如:

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

谢谢,

1 个答案:

答案 0 :(得分: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));