我有多个动态创建的图像,我想在某些情况下更改图像。我可以将它们保存在一个数组中,但是如何通过从数组中获取它来更改图像(加载另一个图像)。 让我们说我有一个数组:
var ImagesArray:Array = [];
我推送它加载器对象,并希望更改(加载新)ImagesArray [0]或ImagesArray [1]的图像......如:
var loaderNew:Loader = new Loader();
loaderNew = ImagesArray[i];
loaderNew.load(new URLRequest("../lib/NewImg.png"));
谢谢,
答案 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));