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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.11.2008, 16:36
MrNobody вне форума Посмотреть профиль Отправить личное сообщение для MrNobody Найти все сообщения от MrNobody
  № 1  
Ответить с цитированием
MrNobody
[+1 11.07.10]
 
Аватар для MrNobody

Регистрация: Oct 2008
Сообщений: 47
Smile Loader Listeners и не только

Код AS3:
private function loadBanner() {
 
            var ldr:Loader = new Loader();
            ldr.contentLoaderInfo.addEventListener(Event.INIT, loadInit);
                if(curNews == 0){
                if(bannerfirstload == 0){
                    bannerfirstload = 1;
                    }
                else{
                    if(baner.parent != null) {
                baner.parent.removeChild(baner);;
                        bannerfirstload = 1;
                    }
                }
                var url:String = "promo6.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
                lastnews = 0;
            }
            if(curNews == 1){
                if (baner.parent != null) {
                baner.parent.removeChild(baner);;
                }
 
                var url:String = "promo5.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
                lastnews = 1;
                //loadBanner()
            }
            if(curNews == 2){
                if (baner.parent != null) {
                baner.parent.removeChild(baner);;
                }
                var url:String = "promo3.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
                lastnews = 2;
            }
                else{
                if (baner.parent != null) {
                baner.parent.removeChild(baner);;
                }
                var url:String = "promo2.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
 
            }
            lastnews = 5;
            }
             if(curNews == 6){
                 trace(lastnews);
                 if(lastnews == 3 || lastnews == 4 || lastnews == 5 || lastnews == 6){
                }
 
            else{
                if (baner.parent != null) {
                baner.parent.removeChild(baner);;
                }
                var url:String = "promo2.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
 
            }
            lastnews = 6;
            }
            if(curNews == 7){
                if (baner.parent != null) {
                baner.parent.removeChild(baner);;
                }
                var url:String = "promo.swf";
                var urlReq:URLRequest = new URLRequest(url);
                ldr.load(urlReq);
                var preloade_mc:MovieClip = new preloader();
                preloade_mc.x = 330;
                preloade_mc.y = 170;
                preloade_mc.name = 'preloader';
                addChild(preloade_mc);
                lastnews = 7;
            }
        } // End of Function
Где curNews - номер текущей новости.

Код AS3:
private function loadInit(event:Event):void {
            var loader:Loader = Loader(event.target.loader);
            var info:LoaderInfo = LoaderInfo(loader.contentLoaderInfo);
            baner = info.content as MovieClip;
            this.addChild(baner);
            var preloader:MovieClip = getChildByName('preloader') as MovieClip;
            removeChild(preloader);
        } // End of Function
В кратце:
Функция грузит муви-клип, в зависимости от номера текущей новости.

Проблема:
Мувиклипв весят по пол-метра, там всякая красота... Не успевают подгрузиться, потом накладываються друг на друга, при срабатывании loadInit, т.к. чайлд не ремувиться. И еще достаточного косяков... На первый взгляд все довольно громоздко, но

Суть вопроса:
Подскажите может что нибудь другое послушать надо?
Или киньте код, где подобная штука реализована.

Смысл всего этого:
Хочу сделать страничку, где баннер будет показываться в зависимости от текущей новости, а если он еще не подгрузился достаточно, то отображаеться предидущий. При рассмотрении вопроса прошу вас обратить внимание на размеры баннеров 500кб - 1000 кб. И принять во внимание, что их может быть и 100 и 200 и 100000000000.

Вот, пока писал эту лабуду, вроде и решение оформилось. Счас
попробую и выложу резальт если получиться. Жду ваших ответов.

__________________
Ждете Христа? Он сказал мне, что больше не придет.

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

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

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


 


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


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