![]() |
Проблема с onLoadInit
Пытаюсь сделать галерею. Есть такой код:
Код:
// создаем загрузчик клиповИ для того, чтобы узнать как расположить картинки я внутри onLoadInit умножаю ширину текущего клипа на счетчик target._parent.count, в котором содержится номер текущего клипа (0, 1, 2, 3, 4, 5, 6). Но проблема в том, что trace(target._parent.count); выдает номера клипов в обратном порядке, т.е. (6, 5, 4, 3, 2, 1). Из-за чего все картинки расставляются как попало. Помогите пожалуйста решить проблему и расставить картинки как положено. |
Грузите картинки поочереди. Когда первая загрузилась, грузите вторую и так далее.
|
А это как? Подскажите код, буду очень признателен.
|
Код:
var count:Number = 0; |
http://flasher.ru/forum/showthread.php?t=114482
Код лучше смотреть на последней странице |
Спасибо за ответы, буду разбираться и пробовать.
|
Взял код с последней страницы как вы и сказали
Код:
// создаем загрузчик клиповВ чем моя ошибка? |
Оёёй, чето совсем не так.
Во-первых, loadImg надо вызывать только после загрузки xml (в том примере что я показал не было xml, там адреса картинок известны заранее поэтому сразу начиналась загрузка). А у Вас порядок такой должен быть: Загружаем xml, считываем данные в массив и после этого запускаем последовательную загрузку. Причем последовательную - это значит что только на событие onLoadInit начинаем загрузку следующей картинки. (Собственно, давая ссылку, я подразумевал мой код)))) Обработчик onLoadInit сам разбирается с тем какую грузить, и снова запускает loadImg для следующей картинки. Перед этим он увеличивает значение счетчика и смотрит, пора ли прекращать (ну или просто смотрит по наличию объекта в массиве). Если адреса кончились - чистимся от хлама и конец. Т.е. загрузка по циклу в принципе не то что надо. |
Что-то у меня ничего не получается:
Код:
var arr:Array = Array(); |
А, нет, не так конечно. Вы же засунули обработчик в обработчик. У Вас onLoadInit находится внутри XML.onLoad. А надо было просто вызвать из XML.onLoad начало загрузки, т.е. loadImg(0). Сам же код лоадера и листенера оставить снаружи)
Ну вот так Код:
var arr:Array = new Array(); |
| Часовой пояс GMT +4, время: 18:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.