首页 > 解决方案 > 在影片剪辑内的影片剪辑中加载图像

问题描述

出于一些奇怪的原因,我来这里是为了在 as3 中开发一个桌面应用程序,我对它真的很生疏。我不记得如何在包含 6 个拇指的滑块中加载图像。这个拇指是包含透明按钮的影片剪辑(命名为 icon1、icon2、icon3...等)和一个应包含图像的空影片剪辑(命名为图像)。此图像必须动态加载。以下是我做的代码:

var count = 1;

for (var i = 1; i < 7; i++) {
    var request: URLRequest = new URLRequest('img/img'+i+'.jpg');
    var loader: Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoadComplete);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);
    loader.load(request);
    count++;
}

function onImageLoadComplete(e: Event): void {
    trace('onImageLoadComplete()');
    var loaderInfo: LoaderInfo = LoaderInfo(e.target);
    loaderInfo.removeEventListener(Event.COMPLETE, onImageLoadComplete);
    loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);

    var bitmap: Bitmap = Bitmap(loaderInfo.content);
    slider["icon" + count]["image"].addChild(bitmap); ///at this line there's the error 
}

function onImageLoadError(e: IOErrorEvent): void {
    trace('onImageLoadError(): ' + e.text);
    var loaderInfo: LoaderInfo = LoaderInfo(e.target);
    loaderInfo.removeEventListener(Event.COMPLETE, onImageLoadComplete);
    loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);
} 

但没办法,不起作用错误是:错误#1010:术语未定义并且没有属性。我也试过:

1)

slider["icon" + count].image.addChild(bitmap);

2)

var mc:MovieClip = ("icon"+ cont)as MovieClip;
slider.mc.image.addChild(bitmap);

拜托,如果有人还记得 as3 帮助我!

标签: actionscript-3

解决方案


感谢@Organis 的回答,这让我朝着正确的方向前进,我改变了计数增加的地方,现在它可以工作了。这是正确的代码:

var count = 1;

for (var i = 1; i < 7; i++) {
    var request: URLRequest = new URLRequest('img/img'+i+'.jpg');
    var loader: Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoadComplete);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);
    loader.load(request);

}

function onImageLoadComplete(e: Event): void {
    trace('onImageLoadComplete()');
    var loaderInfo: LoaderInfo = LoaderInfo(e.target);
    loaderInfo.removeEventListener(Event.COMPLETE, onImageLoadComplete);
    loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);

    var bitmap: Bitmap = Bitmap(loaderInfo.content);
    slider["icon" + count]["image"].addChild(bitmap);
    count++;
}

function onImageLoadError(e: IOErrorEvent): void {
    trace('onImageLoadError(): ' + e.text);
    var loaderInfo: LoaderInfo = LoaderInfo(e.target);
    loaderInfo.removeEventListener(Event.COMPLETE, onImageLoadComplete);
    loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onImageLoadError);
} 

推荐阅读