Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Предзагрузка (http://www.flasher.ru/forum/showthread.php?t=134718)

Pena 08.01.2010 18:20

Предзагрузка
 
Перед нами картинка и кнопка...
Нажимаем кнопку - открывается новая картинка с кнопкой...
и т.д.

Необходимо чтобы после переходе на следующий шаг, кнопка была неактивной до тех пор пока не загрузиться (не путать с отобразиться") СЛЕДОМ ИДУЩАЯ картинка, НА которую произойдёт переход после нажатия на кнопку...

Надеюсь внятно объяснил =\
По смыслу: "перемещаемся по залам музея, а пока любуемся картинами первого зала, в соседний срочно завозят другие шедевры и двери откроют только когда всё расставят"))

Я самовар... только начинаю вникать и на данный момент могу исполнить лишь вариант загрузки в ответ на действие(

Rzer 09.01.2010 14:34

Посмотри, что такое события и как их слушать. Картинку загружаешь с помощью Loader класса. У него есть поле contentLoaderInfo, содержащее объект, рассылающий событие об окончании загрузки картинки.

Грубо говоря:
Код AS3:

loader = new Loader();
var request:URLRequest = new URLRequest("путь к картинке")
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
loader.load(request);
...
public function onLoaded(e:Event):void{
 //Код внутри этой функции выполниться только тогда, когда произойдет загрузка картинки, остальной же код выполняется как прежде. Не забывай удалять слушателя:
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded);
}

Во второй строчке говорим о том, что мы "слушаем" событие конца загрузки, и как только это произойдет надо выполнить функцию onLoaded.

Если необходимо загружать много картинок можно использовать одну функцию, только тогда нужно ввести счётчик не оконченных загрузок. А чтобы получить ссылку на текущий Loader пишем в функции onLoaded что-то типа:

Код AS3:

var aLoader:Loader = e.target as Loader


Pena 10.01.2010 21:07

Ммм... благодарю!
Вот ответ на мой вопрос:

Код AS1/AS2:

loader = new Loader(); // Тут правильно var loader = new Loader(); ? =\
var request:URLRequest = new URLRequest("путь к картинке");
loader.load(request);

Пытаюсь допетрить вторую Вашу часть ("Если необходимо загружать много картинок"...))

Rzer 11.01.2010 13:08

loader объявлен выше в переменных класса
Код AS3:

private var loader:Loader

, чтобы ссылка на него не потерялась


Часовой пояс GMT +4, время: 23:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.