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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.03.2009, 15:52
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 1  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
По умолчанию Класс прелоадера

Всем привет, я пытаюсь создать отдельный класс, описывающий загрузку картинки и отображающий ход загрузки, вобщем обычный прелоадер.
Мне хотелось бы, чтобы был отдельный класс, как *.as файл который вызывался бы каждый раз, когда требуется создать предзагрузчик для какой-либо загрузки, причем встраивался бы в конкретный мувик, т.е. там рождался, показывал загрузку и там же умирал. Но как у всех новичков у меня море вопросов, потому что все работает, но не так как задуманно.
в главном классе документа я пишу:
Код AS3:
package my_as{
	....
	import my_as.loaders;
	....
	public class mainMenu extends MovieClip {
		....
		public function mainMenu() {
			....
		}
		private function menuCHOISE(event:MouseEvent):void {
			var my_loaders_01=new my_as.loaders("pict3.jpg",my_galleryMenu.galleryMenuItem_01);
			var my_loaders_02=new my_as.loaders("pict3.jpg",my_galleryMenu.galleryMenuItem_02);
			var my_loaders_03=new my_as.loaders("pict3.jpg",my_galleryMenu.galleryMenuItem_03);
			var my_loaders_04=new my_as.loaders("pict3.jpg",my_galleryMenu.galleryMenuItem_04);
		}
	}
}
а в лоадере соответсвенно:
Код AS3:
package my_as{
	....
	import loader_mc;
	public class loaders extends MovieClip {
		var my_loader_mc=new loader_mc  ;
		public function loaders(url:String,target_mc:MovieClip) {
			var loader:Loader=new Loader  ;
			configureListeners(loader.contentLoaderInfo);
			loader.addEventListener(MouseEvent.CLICK,clickHandler);
 
			var request:URLRequest=new URLRequest(url);
			loader.load(request);
 
			target_mc.addChild(loader);
			target_mc.addChild(my_loader_mc);
		}
		private function configureListeners(dispatcher:IEventDispatcher):void {
			....
		}
		....
	}
}
В общем передаю лоадеру два параметра - url и target_mc откуда грузить и куда соответственно.
Все срабатывает хорошо - лоадер создается во всех мувиках где надо и отображает процесс загрузки.
Но у меня подозрение, что отображается процент загрузки не данной одной картинки в мувике, а общий ход загрузки всех 4-х картинок, просто отбражается одно и тоже в 4-х мувиках.
Поскольку при симуляции слишком уж подозрительно одновременно они подгружаются.
Подскажите плиз что не так?
И еще вопрос - как потом удалить предзагрузчик если это нужно?

Старый 21.03.2009, 19:37
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Ну, а как иначе? Тест загрузки это идиализация, 4 загрузки одновременно - он канал доступный ровно на 4 и поделит. Это моё имхо, уверен я на 80%.

Удалить - убить на него ссылку (то есть присвоить её null) и отписаться от всех событий. GC сделает все остальное.

Старый 21.03.2009, 21:46
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 3  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
е-мое, а слона то я и не заметил, я ж одну и ту же картинку гружу...поставил разные с разным размером - результат на лицо - все загружаются в разное время, Psycho Tiger, спасибо, тему можно закрыть))))))

Старый 02.04.2009, 16:35
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 4  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Подскажите, плиз а как можно из главного класса слушать события в лоадере?
Ну или из лоадера вызывать функции в главном классе?

Старый 02.04.2009, 16:48
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 5  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Создать свои события, испускать их из лоадера когда потребуется и слушать в главном классе.
__________________
Griver

Старый 02.04.2009, 16:59
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 6  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
как это -
Цитата:
Создать свои события, испускать их из лоадера когда потребуется и слушать в главном классе.
?
Создать свои события в классе лоадер?
Но зачем - там ведь есть все нужные события, мне только подписаться на них нужно из главного класса, чтобы выполнить функцию как только картинка полностью подгрузиться.

Да и еще вопрос - я гружу картинки в контейнер, их можно от туда удалить, или нужно удалять сам контейнер и создавать новый? А то сейчас картинки грузятся одна на другую.

Старый 02.04.2009, 17:33
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 7  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Цитата:
Сообщение от AlexDesinger Посмотреть сообщение
Но зачем - там ведь есть все нужные события, мне только подписаться на них нужно из главного класса, чтобы выполнить функцию как только картинка полностью подгрузиться.
Событие Event.COMPLETE не идет вверх и поймать его можно только подписавшись на Loader.contentLoaderInfo.
__________________
Griver

Старый 02.04.2009, 18:18
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 8  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
я в главном классе прописал:
Код AS3:
var my_loader=new my_scripts.loaders("mainMenuPict/pict"+i+".jpg",mainMenuIco_mc.mainMenuPict);
			my_loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
но флэш выдает ошибку
ReferenceError: Error #1069: Property contentLoaderInfo not found on my_scripts.loaders and there is no default value.

mre, подскажи что не так?

Старый 02.04.2009, 19:06
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 9  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
А my_loader какого типа? Явно не Loader.
Привыкайте типизировать переменные - облегчите жизнь себе.
__________________
Griver

Старый 02.04.2009, 20:01
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 10  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
тк, но ведь это внешний класс прелоадера...
если я запишу:
Код AS3:
			var my_loader:Loader=new my_scripts.loaders("mainMenuPict/pict"+i+".jpg",mainMenuIco_mc.mainMenuPict);
это мне мой класс прелоадера от Loader наследовать что-ли, а не от MovieClip?
ок сделал, ошибок нет, но событие не срабатывает((((((((((

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

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

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


 


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


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