![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Сообщений: 12
|
Итак, мне нужно загрузить превьюшки из внешних файлов в массив из BitmapData. Превью имеют названия 1.jpg, 2.jpg ... img_num.jpg Имею такой код:
import flash.display.BitmapData;
var img_num:Number = 5; //Кол-во изображений
var pre_path:String = "/previews/"; //Папка с превью
var pre_bmd:Array = []; //Массив с BitmapData
function applyAll():Void {
//Сначала нам нужно загнать все превьюшки в массив BitmapData. Для этого мы поочереди грузим
//каждую превью в MovieClip, после чего рендерим его в BitmapData.
function loadNext(i:Number) {
//Функция рекурсивно грузит превью, ждет ее загрузки, отрисовывает и грузит следующую
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = {};
createEmptyMovieClip("temp"+i, getNextHighestDepth());
_root["temp"+i].createEmptyMovieClip("img",1);
loader.addListener(listener);
loader.loadClip(pre_path+i+'.jpg', _root["temp"+i].img);
listener.onLoadComplete = function() {
trace(_root["temp"+i]._width);
if (i<img_num){
loadNext(i+1);
}else{
trace("Loading complete!");
}
};
}
trace("Loading previews...");
loadNext(1);
}
Может, я не правильно понял, но ведь событие onLoadComplete происходит уже после того, как рисунок загрузится, и соот-но длина клипа должна быть 120. Рисунке грузятся, т.е во флеше они показываются... Объясните, плиз, что я делаю не так... |
|
|||||
|
сразу после загрузки картинка не отображается, она отображается в следующем кадре, если я правильно помню. Эта проблема пропала в АС3.
__________________
I'm only happy when it rains. Waka Laka |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Из хелпа (http://flash-mx.ru/help/)
"При использовании событий onLoadComplete и onLoadInit класса MovieClipLoader, очень важно понимать чем отличаются особенности их наступления. Событие onLoadComplete имеет место после того как SWF или JPEG файл загружен, но до того как его код задействован. В этот момент невозможно обратится к свойствам и методам загруженного клипа и, стало быть, Вы не можете вызвать функцию, передвинуть клип на указанный кадр и т.д. В большинстве случаев лучше использовать событие onLoadInit, которое имеет место когда клип загружен и полностью инициализирован." |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 12
|
iNils, огромное спасибо - помогло! А то у меня заказ горит, а я как дурак сижу и не знаю что делать
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|