Универсальный прелоудер. @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 16 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Fobion
новый человек
0
Сообщения: 13
Зарегистрирован: 16.09.05
Откуда: От туда
Заголовок сообщения: Универсальный прелоудер.
Сообщение Добавлено: 30 Ноябрь 2005, 13:48:21 
Нужен прелоудер на внешнем мувеке, который подсчитовал бы загрузку вложенного (вложенных) мувов.
Подскажите, где подсмотреть.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 30 Ноябрь 2005, 14:53:32 
вот накидал тебе. это наброски, я даже не тестил. так что возможны ошибки.
пользуем так:
нужен мувик залинкованый в либе с именем MultiPreloder_mc
код ниже должен быть в нем.
аттачим его и добавляем в очередь вот так:
my_preloader_mc.addPreloadObject("first.swf", this.any_mc, "это первый swf\n")
Код:
 #initclip
this.setMultiPreloderClass = function() {
   delete this.setMultiPreloderClass;
   var MultiPreloder = function () {
      this.init();
   };
   Object.registerClass('MultiPreloder_mc', MultiPreloder);
   MultiPreloder.prototype.__proto__ = MovieClip.prototype;
   var tmp = MultiPreloder.prototype;
   tmp.init = function() {
      this.createTextField("out_txt", 0, 0, 0, 300, 300);
   };
   tmp.addPreloadObject = function(url, target, description) {
      this.preload_array = this.preload_array || [];
      this.preload_array[this.preload_array.length] = {url:url, target:target, description:description};
      if (!this.in_progress) {
         this.loadNext();
      }
   };
   tmp.loadNext = function() {
      var item = this.preload_array.shift();
      if (!item) {
         this.finishPreloading();
      }
      var url = item.url;
      var target = item.target;
      this.description = item.description;
      if (!url.length || !target) {
         this.onLoadError();
      }
      this.loader_mcl = this.loader_mcl || new MovieClipLoader();
      this.loader_mcl.addListener(this);
      this.loader_mcl.loadClip(url, target);
   };
   tmp.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
      var percent = Math.floor(loadedBytes/totalBytes*100)
      this.out_txt.text = this.description+ "\nloaded: "+percent + " %\nstack: "+this.preload_array.length
   };
   tmp.onLoadInit = function() {
      this.in_progress = false
      this.loadNext();
   };
   tmp.onLoadError = function() {
      this.in_progress = false
      this.loadNext();
   };
   tmp.finishPreloading = function() {
      this.removeMovieClip();
   };
   _global.MultiPreloder = MultiPreloder;
   ASSetPropFlags(_global, 'MultiPreloder', 7, 1);
};
this.setMultiPreloderClass();
#endinitclip
diflux Муж.
участник
8
Сообщения: 1051
Зарегистрирован: 10.07.02
Откуда: Moscow
Сообщение Добавлено: 30 Ноябрь 2005, 15:46:14 
Fobion,
Бери отпуск на месяц, чтобы разобраться :laugh:
half-elf Муж.
соучастник
0
Сообщения: 460
Зарегистрирован: 19.11.04
Откуда: Оттуда
Сообщение Добавлено: 30 Ноябрь 2005, 16:32:37 
diflux, Месяца не хватит :)
_iv, Если не сложно - не мог бы ты прислать все это в конкретном флэше? Архивчиком :) Заранее спасибо :beer:

_________________
cmd vs. ctrl. Кто победит?
diflux Муж.
участник
8
Сообщения: 1051
Зарегистрирован: 10.07.02
Откуда: Moscow
Сообщение Добавлено: 30 Ноябрь 2005, 17:17:07 
half-elf,
Думаю, что "Не мог бы" :)


Цитата:
вот накидал тебе. это наброски, я даже не тестил. так что возможны ошибки.

_etc Муж.
новый человек
0
Сообщения: 18
Зарегистрирован: 29.11.05
Откуда: Moscow
Сообщение Добавлено: 30 Ноябрь 2005, 17:54:50 

half-elf писал(а):
diflux, Месяца не хватит :)
_iv, Если не сложно - не мог бы ты прислать все это в конкретном флэше? Архивчиком :) Заранее спасибо :beer:


А зачем? Копи-пасть в первый кадр и смотри.

_________________
«non progredi est regredi»
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 30 Ноябрь 2005, 18:04:34 
"класс" на ас1... жесть

_________________
Здравствуй, Олимпийский!
_etc Муж.
новый человек
0
Сообщения: 18
Зарегистрирован: 29.11.05
Откуда: Moscow
Сообщение Добавлено: 30 Ноябрь 2005, 18:24:49 
Король, в чём жесть? Ты думаешь AS2 класс выглядит иначе? Огорчу.

_________________
«non progredi est regredi»
Король Муж.
участник
18
Сообщения: 1352
Зарегистрирован: 24.07.04
Сообщение Добавлено: 30 Ноябрь 2005, 20:26:23 
_etc, ну огорчи. жесть в том что #initclip, Object.registerClass и __proto__ - это как tellTarget, set и eval()

_________________
Здравствуй, Олимпийский!
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 30 Ноябрь 2005, 23:58:24 
_etc, и как же ты огорчишь? =)
Для этого универсального загрузчика нужен всего лишь универсальный клас очереди.

_________________
blog : flash / unity
_etc Муж.
новый человек
0
Сообщения: 18
Зарегистрирован: 29.11.05
Откуда: Moscow
Сообщение Добавлено: 1 Декабрь 2005, 13:02:02 
Король, AS2 не существует.

nuran, я твоей мысли не понял, извини. Каким боком это имеет отношение к AS2 — не знаю.

_________________
«non progredi est regredi»
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 1 Декабрь 2005, 13:29:23 
Король, жесть в том что один человек другому помог с решением без лишней трепотни а другие вместо помощщи изыскивают чтоб такого ввернуть чтоб самоутвердится лишний разок.
Если есть предложения по теме - как организовать загрузку - то продолжим, если нет и начнутся выяснения кто правильнее понимает "великое учение об AS2" -прикрою. С этим перемещщайтесь в новый топик.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 1 Декабрь 2005, 14:54:25 
- Используйте дедуктивный метод.

Отвечу по порядку:
1) Сам вопрос позволяет довольно точно судить об уровне подготовки вопрошающего.
Класс на AS1 написан по причине простоты его использования - воткнул в мувик и работает.
В случае с реализацией на AS2 появилась бы масса новых вопросов по использованию.
В этой стране человек 10 может и понимают, что такое AS2, с чем его едят, и вообще, зачем это нужно.

2) Исходник не дам. По моему глубокому убеждению ответ должен быть не до конца понятен
вопрошающему, но при этом непонятен настолько, чтобы можно было разобраться
в течение одного-двух часов. Это не позволит тупо использовать то, что дали и, возможно,
сподвигнет на изучение вопроса до уровня понимания.

3) Не нужно обижать #initclip и иже с ним и заодно мою привязанность к AS1.
На AS1 я могу сделать такие чудеса, которые на AS2 не реализуемы
вовсе либо на порядки уступают в производительности.
AS1 позволяет делать трюки. Спасибо ему за это.
Собственно AS2 и трюки идеологически несовместимы.
_iv Муж.
Модератор
32
Сообщения: 166
Зарегистрирован: 26.10.05
Откуда: Москва
Сообщение Добавлено: 1 Декабрь 2005, 14:59:36 
И еще вдогонку:

По моему глубокому убеждению - AS2 урод.
AS2 это кривая попытка подогнать AS под стандарты.
Как результат, потеряли прелести AS1 и ничего хорошего в общем не приобрели.

Надежда на AS3. После его выхода AS2 быстро умрет.
а AS1 будет жить.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 1 Декабрь 2005, 15:32:32 
_iv, cтарина, не поделишся конкретикой? :dandy:


Цитата:
На AS1 я могу сделать такие чудеса, которые на AS2 не реализуемы
вовсе либо на порядки уступают в производительности.


_________________
можно на ТЫ.
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 1 Декабрь 2005, 15:41:34 
переезжаем
http://deforum.ru/forum/viewtopic.php?p=655685#655685
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 16 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100