![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Всем привет, я пытаюсь создать отдельный класс, описывающий загрузку картинки и отображающий ход загрузки, вобщем обычный прелоадер.
Мне хотелось бы, чтобы был отдельный класс, как *.as файл который вызывался бы каждый раз, когда требуется создать предзагрузчик для какой-либо загрузки, причем встраивался бы в конкретный мувик, т.е. там рождался, показывал загрузку и там же умирал. Но как у всех новичков у меня море вопросов, потому что все работает, но не так как задуманно. в главном классе документа я пишу: 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); } } } 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 { .... } .... } } Все срабатывает хорошо - лоадер создается во всех мувиках где надо и отображает процесс загрузки. Но у меня подозрение, что отображается процент загрузки не данной одной картинки в мувике, а общий ход загрузки всех 4-х картинок, просто отбражается одно и тоже в 4-х мувиках. Поскольку при симуляции слишком уж подозрительно одновременно они подгружаются. Подскажите плиз что не так? И еще вопрос - как потом удалить предзагрузчик если это нужно? |
|
|||||
|
Ну, а как иначе? Тест загрузки это идиализация, 4 загрузки одновременно - он канал доступный ровно на 4 и поделит. Это моё имхо, уверен я на 80%.
Удалить - убить на него ссылку (то есть присвоить её null) и отписаться от всех событий. GC сделает все остальное.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
е-мое, а слона то я и не заметил, я ж одну и ту же картинку гружу...поставил разные с разным размером - результат на лицо - все загружаются в разное время, Psycho Tiger, спасибо, тему можно закрыть))))))
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Подскажите, плиз а как можно из главного класса слушать события в лоадере?
Ну или из лоадера вызывать функции в главном классе? |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
как это -
Цитата:
Создать свои события в классе лоадер? Но зачем - там ведь есть все нужные события, мне только подписаться на них нужно из главного класса, чтобы выполнить функцию как только картинка полностью подгрузиться. Да и еще вопрос - я гружу картинки в контейнер, их можно от туда удалить, или нужно удалять сам контейнер и создавать новый? А то сейчас картинки грузятся одна на другую. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
я в главном классе прописал:
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, подскажи что не так? |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
тк, но ведь это внешний класс прелоадера...
если я запишу: var my_loader:Loader=new my_scripts.loaders("mainMenuPict/pict"+i+".jpg",mainMenuIco_mc.mainMenuPict); ок сделал, ошибок нет, но событие не срабатывает(((((((((( |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|