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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.11.2009, 23:12
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Неприятности с MovieCLipLoader

Товарищи такая проблема возникла :

Есть контент, гружу через MovieClipLoader, изначально контент имеет свойство _visible = false; Ну а в событии onLoadInit , данное свойство преобретает значение на true соответсвенно.

Проблема : если тестирую мувик через Simulate Download ( скорость 32 кб, объем загрузки 100 кб), то уже на 50% загрузки ( как показывает полоска лоадера) КЛИП меняет свойство на _visible = true; Затем полоска лоадера доходит до 100%, клип исчезает на секунду, и потом видимо происходит LoadInit и он снова появляется. С чем связаны такие аномалии?
Прелоадер сделан так по старинке: 100 кадров.

Код AS1/AS2:
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
if(L1/L2!=1) { var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);}
}
Это первый случай если использую if , то появляется вторая аномалия, прелоадер играет тока до 50% в любом случае даже просто при проигрывании ролика без загрузки.

Код AS1/AS2:
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
 var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);
}
Во втором случае доходит как надо до 100%, но первая АНОМАЛИЯ при simulate остается(((
Где я не прав???



Если поможет вот весь код :

Код AS1/AS2:
class com.streamLoader extends MovieClip {
 
	var _obj:Object;
	var _clipLoader:MovieClipLoader;
	public function streamLoader() {
	}
 
	private function _loadContent(_content, _location, _func, _loadProgress) {
 
		if (_content != "undefined.swf") {
			_obj = new Object();
			_clipLoader = new MovieClipLoader();
			_clipLoader.addListener(_obj);
			_obj.onLoadProgress = _loadProgress;
			_obj.onLoadInit = _func;
			_clipLoader.loadClip(_content,_location);
		}
	}
};//end of class
....
Код AS1/AS2:
var ss = new com.streamLoader();
ss._loadContent("About.swf",_parent._cont,INIT, _progress);
function INIT() {
	play();	
}
function _progress() {
	var _l1 = _parent._cont.getBytesLoaded();
	var _l2 = _parent._cont.getBytesTotal();
	var perc = Math.floor(_l1/_l2*100);
	_preloader.gotoAndStop(perc);
}

Старый 01.11.2009, 23:24
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А у меня Simulate Download иногда вообще вешает намерво IDE. Забейте на этот симулате. Юзайте NetLimiter какой-нибудь.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 01.11.2009, 23:54
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Вообщем проблему нашел : поясните мне вот что , почему НЕКТО клип имеющий свойство НЕВИДИМЫЙ до загрузки в него чего либо, СТАНОВИТСЯ сам по себе видимым при событии LoadInit ? Лишь только в том случае если в LoadStart иди LoadProgress не стоит ВЫКЛЮЧЕНИЕ видимости ЕЩЕ РАЗ.

Вопрос 2 : оказывается мувиклип лоадер так же грузит по кадрово swf ? Какая разница тогда от EnterFrame старинных лоадеров. только в событии onLoadComplete ? да зачем оно сдалось когда ДАЖЕ в enterFrame есть возможность включить init, start, и прогресс!!!

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Потому что так сделан класс MCL, по определению замещает почти все свойства мувика-контейнера.
2. Грузит-то покадрово, но не с частотой таймлайна основного ролика, а со скоростью, близкой к скорости передачи данных канала.
MCL - гибкий инструмент и функции, написанные с его участием, легко использовать повторно. А работа MCL осуществляется прямо в основном коде. MCL можно использовать где угодно в ролике.
В MCL все события встроены, onInit и тд., а так все нужно организовывать, сличать bytesLoaded и bytesTotal.
Нет необходимости после загрузки делать delete this.onEnterFrame.
И т.д..


Последний раз редактировалось mooncar; 02.11.2009 в 00:10.
Создать новую тему Ответ Часовой пояс GMT +4, время: 12:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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