![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2010
Сообщений: 6
|
Привет!)
мне нуждно сделать баннер довольно увесистый в котором сменяются 9 фоток и одна титульная так скажем картинка. поочередно сменяются становясь прозрачными 3 фотки и показывается титульная картинка потом след три фотки и снова титульная картинка и еще раз так а далее сначала. Посколько весит это все много - я сначала подумал сделать два ролика - один - прелоадер а второй со всеми картинками и их сменами. Но наверное есть принцип и порядок загрузки там скажем параллельно с воспроизведением - загрузилась одна картинка - показывае вторая - происходит смена и тд. Была мысль производить смену как реакцию на событие загрузки очереднйо картинки но если хорошее соединение с иентом то все оч быстро загрузистя и сменится... Подскажите пожалуйста в общих чертах принцип и структуру более удобного кода для загрузки и смены изображений. dntknw.gif Заранее спасибо за ответы |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 102
|
Мне как то раз надо было сделать что то похожее. Я сделал это так.
1. Грузится сама флешка (16кб весу =)) 2. Показывается небольшой прелоадер на первую картинку. 3. Как только первая картинка загрузилась я её отображаю и запускаю таймер, по окончании таймера проверяю - если следующая картинка загрузилась - сменяю, если нет запускаю таймер ещё раз и т.д. 4. Когда все фотки загрузились я их просто гоняю по кругу с приминением того же таймера. |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 6
|
Спасибо)) таймер поможет!
может подскажете как будет выглядеть строка проверки загрузилась ли новая картинка, я знаю какое событие присходит когда картинка загружается, но наверное проверка производится по какому то свойству объекта Loader которое возвращает закончилась ли загрузка или еще нет? почитал книжки но про свойство пока ничего не нашел? не правильные мои предположения? я думаю что выглядит это примерно так : if (свойство загрузил ли Loader свою картинку)= true то addChild(Loader.content); |
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
|
|
|||||
|
Регистрация: Feb 2010
Сообщений: 102
|
ну я вообщето юзал один и тот же лоадер, посему просто создал массив содержащий boolean, этот массив равнялся по длинне массиву содержащему загруженые фоты. Выглядело это примерно так
private function loadingGallery():void { picLoader.load(new URLRequest(photoURL_Array[someVar])); picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showPic); } private function showPic(e:Event):void { e.target.removeEventListener(Event.COMPLETE, loadingGallery); //убиваем слушатель photoLoadedBool_Array[someVar]=true; .........//тут мы вызываемф-цию которая запускает таймер и выводит первую загруженую фотку if(someVar < photoURL_Array.length-1) { someVar++; loadingGallery(); } } photoURL_Array - массив содержащий ссылки на фотки photoLoadedBool_Array - массив boolean'ов, длинна которого равна кол-ву фоток, и все переменные которого изначально равны false. работает это след образом 1. Загружаем по ссылке photoURL_Array[someVar] фотку 2. Записываем в photoLoadedBool_Array[someVar]=true что она записана 3. если загружены ещё не все фотки if(someVar < photoURL_Array.length-1) -> увеличиваем счётчик на 1 и запускаем ф-цию loadingGallery заново. Возможно это топорно, я сам не так давно пишу, но работает безотказно |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|