Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.11.2011, 03:19
Ookami вне форума Посмотреть профиль Отправить личное сообщение для Ookami Найти все сообщения от Ookami
  № 1  
Ответить с цитированием
Ookami
 
Аватар для Ookami

Регистрация: Aug 2011
Адрес: 56° 51' с.ш. 53° 13' в.д.
Сообщений: 172
Записей в блоге: 1
По умолчанию Последовательная загрузка нескольких картинок

Прелоадер, после загрузки самой swf, загружает с сервера список объектов, из которого формируется массив. Массив, помимо прочего, содержит имена файлов, которые необходимо загрузить (количество меняется время от времени). Как реализовать последовательную загрузку этих самых файлов, с выводом информации о ходе загрузки (загружено 10 из 55 файлов, и процент загрузки текущего файла).

Старый 05.11.2011, 03:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну так счетчик сделать, он же индекс в массиве/векторе/XMLListe с URLами файлов, и по наступлению события COMPLETE делать ему инкремент, забирать файл у лоадера и запускать следующую загрузку.
Поскольку кол-во файлов известно, состояние счетчика известно, можно выводить цифры или даже прогрессбар.
__________________
Reality.getBounds(this);

Старый 05.11.2011, 03:46
Ookami вне форума Посмотреть профиль Отправить личное сообщение для Ookami Найти все сообщения от Ookami
  № 3  
Ответить с цитированием
Ookami
 
Аватар для Ookami

Регистрация: Aug 2011
Адрес: 56° 51' с.ш. 53° 13' в.д.
Сообщений: 172
Записей в блоге: 1
а для самой загрузки что лучше использовать в данном контексте? Loader, URLLoader, UILoader или какие-то другие варианты есть? Каждая загружаемая картинка будет частью отдельного мувиклипа.

Старый 05.11.2011, 04:03
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 4  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Ну, сами изображения загружаете простым способом:

Код AS3:
package  {
	import flash.display.Loader;
	import flash.events.Event;
	import flash.events.HTTPStatusEvent;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
	import flash.display.Sprite;		
 
    public class Main extends Sprite {
        public function Main() {
            loadImage("image.jpg");
        }
 
        function loadImage(url:String):void {
            var request:URLRequest = new URLRequest(url);
            var loader:Loader = new Loader();
            loader.addEventListener(Event.COMPLETE, onLoaderComplete);
            loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoaderProgress);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoaderError);
            loader.load(request);
            addChild(loader);
        }
 
        function onLoaderComplete(event:Event):void {
            // Обработка окончания загрузки
            trace("Load sucess");
        }
 
        function onLoaderProgress(event:ProgressEvent):void {
            // Обработка процесса загрузки
            trace("Progress: " + event.bytesLoaded + " bytes loaded");
        }
 
        function onLoaderError(event:IOErrorEvent) {
            // Обработка ошибки
            trace("IOError: " + event.text);
        }
    }
}
А далее, как и сказал Wolsh, увеличиваете счетчик картинок, берете новый url из массива, и снова loadImage.

Ну, и естественно если будете использовать код, то обратите внимание на addChild, если он у вас должен добавляться в отдельный мувик.


Последний раз редактировалось strangedk; 05.11.2011 в 04:15. Причина: исправлял отступы кода
Старый 05.11.2011, 04:23
Ookami вне форума Посмотреть профиль Отправить личное сообщение для Ookami Найти все сообщения от Ookami
  № 5  
Ответить с цитированием
Ookami
 
Аватар для Ookami

Регистрация: Aug 2011
Адрес: 56° 51' с.ш. 53° 13' в.д.
Сообщений: 172
Записей в блоге: 1
Оу, не ожидал такого подробного объяснения. Спасибо. А в чем, все-таки, разница между URLLoader и UILoader?

Старый 05.11.2011, 04:30
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 6  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Вам нужно это flash.net.URLLoader

fl.containers.UILoader
- это вообще компонент FlashIDE

Старый 05.11.2011, 04:32
Ookami вне форума Посмотреть профиль Отправить личное сообщение для Ookami Найти все сообщения от Ookami
  № 7  
Ответить с цитированием
Ookami
 
Аватар для Ookami

Регистрация: Aug 2011
Адрес: 56° 51' с.ш. 53° 13' в.д.
Сообщений: 172
Записей в блоге: 1
Понял, благодарю за ссылки. Все получилось, вопрос исчерпан.

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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