Flash AS3-如何替换/交换movieclip中的图像?
我以前加载了一个位图,并将其作为子对象添加到movielip mc 然后我想稍后加载另一个图像,删除该子图像并替换为新图像。。 由于某种原因我的代码不起作用我不知道我做错了什么 我向名为Flash AS3-如何替换/交换movieclip中的图像?,flash,actionscript-3,Flash,Actionscript 3,我以前加载了一个位图,并将其作为子对象添加到movielip mc 然后我想稍后加载另一个图像,删除该子图像并替换为新图像。。 由于某种原因我的代码不起作用我不知道我做错了什么 我向名为openBigImage 因此,基本上新的文件路径和文件名应该替换以前的图像 imgLoader是一个包含先前被定义为img0、img1等的各种图像的电影剪辑 thumbs将图像文件名包含为字符串 我的问题是:应该img.addChildAt(bitmapContent,0);作为交换函数工作?我可以删除img的
openBigImage
因此,基本上新的文件路径和文件名应该替换以前的图像
imgLoader
是一个包含先前被定义为img0、img1
等的各种图像的电影剪辑
thumbs
将图像文件名包含为字符串
我的问题是:应该img.addChildAt(bitmapContent,0);作为交换函数工作?我可以删除img的孩子,但我不能更换它
function openBigImage(e)
{
var e = e.target;
var i = e.parent.name1;
var z = e.parent.name2;
var tu = theThumbs[i][z];
var img = imgLoader.getChildByName("img" + i);
var newimg:Loader = new Loader();
var fileRequest:URLRequest = new URLRequest(tu);
newimg.load(fileRequest);
newimg.name = i;
newimg.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadCompleted2);
img.removeChildAt(0);
}
function onLoadCompleted2(e:Event):void {
var bitmapContent:Bitmap = Bitmap( e.target.content );
bitmapContent.smoothing = true;
var i = e.target.loader.name;
var img = imgLoader.getChildByName("img" + i);
trace("img" + i)
img.addChildAt(bitmapContent,0);
}
老问题没有解决方案
function onLoadCompleted2(e: Event):void
{
// ...
trace("replacing image");
var index: int = img.getChildIndex(oldImage);
img.removeChildAt(index);
img.addChildAt(newImage, index);
}
作为替代,您可以使用精灵
,然后只需清除并用新图像填充即可