Загрузить изображение во фрагменте ролика внутри фрагмента ролика - PullRequest
0 голосов
/ 29 мая 2020

по каким-то странным причинам я здесь, чтобы разработать настольное приложение на as3, и мне это очень надоело. Не могу вспомнить, как загрузить изображение внутри слайдера, содержащего 6 превью. Эти большие пальцы представляют собой фрагменты ролика (с именами icon1, icon2, icon3 ... et c), которые содержат прозрачную кнопку и пустой фрагмент ролика (с именем image), который должен содержать изображение. Это изображение необходимо загружать динамически. Вот код, который я сделал:

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 помогите мне!

1 Ответ

0 голосов
/ 03 июня 2020

Благодаря ответу @ 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);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...