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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.02.2008, 15:47
IamZuBila16 вне форума Посмотреть профиль Отправить личное сообщение для IamZuBila16 Найти все сообщения от IamZuBila16
  № 1  
Ответить с цитированием
IamZuBila16
[+5 09.01.08]
[+6 21.03.08]

Регистрация: Dec 2007
Сообщений: 48
Attention Помогите сделать прелоадер

Вобщем так:
Я хочу сделать прелоадер с заливкой текса, по мере загрузки моего сайта. Я думаю что лучше всего это сделать маской...
Вобщем я создал 1 слой, на котором разместил надпись которую мне надо заливать... Сделал ее мувиклипом. Внутри сделал маску. Только в ней есть один нюанс. Вся маска находится в одном кадре, т.к. обьектов которые открывают текст очень много... тоесть это надо реализовать программным путем.. А точнее циклом..
Вобщем, по-моему вся проблема в том, что при загрузке свф, она сразу переходит во 2 кадр, в котором основной сайт... А при повторном нажатии ctrl+enter запускается прелоадер, но цикл заново не запускается...
Не могли бы Вы ответить почему???
Вот код 1 кадра:
Код:
ndp = new Array();
onLoad=function(){
	for(i=1; i < 417; i++){   //всего 416 обьектов, каждый наз. m1, m2, m3 и т.д.
		_root.attachMovie("m","m"+i,_root.getNextHighestDepth())
	}
	for(i=1; i < 417; i++){
		ndp["m"+i]=i+1;
		_parent.ndp["m"+i]._visible=0;
}
}
и вот код самого прелоадера (написаный в надписе, которая сделана мувиклипом):
Код:
onClipEvent(load){
	_global.total=_root.getBytesTotal();
}
onClipEvent(enterFrame){
	_global.loading=_root.getBytesLoaded();
	trace(total);
	trace(loading);
	if(loading==total){
		gotoAndStop(2);
	}
}
Подскжите плз в чем ошибка??
Заранее благодарен...


Последний раз редактировалось IamZuBila16; 02.02.2008 в 17:29.
Старый 02.02.2008, 17:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
IamZuBila16, отредактируйте свой пост и оформите код тегами [code][/code].

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

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
1. писать в кадре;
2. поставить stop(), чтобы не шло на 2 кадр;

сначала сделайте это, потом спрашивайте

Старый 03.02.2008, 23:56
IamZuBila16 вне форума Посмотреть профиль Отправить личное сообщение для IamZuBila16 Найти все сообщения от IamZuBila16
  № 4  
Ответить с цитированием
IamZuBila16
[+5 09.01.08]
[+6 21.03.08]

Регистрация: Dec 2007
Сообщений: 48
Так сказать, "продолжение банкета"...
С выключением мувиклипов я уже разобрался, все работает... Но теперь не могу зделать их своевременное включение.
Подсажите пожалуйста как привязать прогрузку сайта к включению этих мувиклипов??
P.S. Чтобы полностью вникнуть в задачу, советую внимательно прочесть первоначальный вопрос...

Старый 04.02.2008, 01:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
ctrl+enter - это псевдозапуск. У него много багов и проблем. Например onLoad срабатывает только один раз, соответственно код в нем тоже. Но зачем он (onLoad) вам сдался? Никогда им не пользовался и не страдал от этого.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.02.2008, 12:22
IamZuBila16 вне форума Посмотреть профиль Отправить личное сообщение для IamZuBila16 Найти все сообщения от IamZuBila16
  № 6  
Ответить с цитированием
IamZuBila16
[+5 09.01.08]
[+6 21.03.08]

Регистрация: Dec 2007
Сообщений: 48
Да вот как раз onLoad пашет норм! Проблема в той части кода, где используется onEnterFrame... Хотя, походу, даже onEnterFrame работает правильно... По-моему, у меня там проблема с логикой...

Старый 04.02.2008, 12:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Начните с избавления от кода типа onClipEvent. Это даже не вчерашний день, так писали неделю назад.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.02.2008, 12:35
IamZuBila16 вне форума Посмотреть профиль Отправить личное сообщение для IamZuBila16 Найти все сообщения от IamZuBila16
  № 8  
Ответить с цитированием
IamZuBila16
[+5 09.01.08]
[+6 21.03.08]

Регистрация: Dec 2007
Сообщений: 48
Я пытался избавиться, но так вобще ничего не пашет... Решил вернуть первоначальный вид...


ООО! Вышло!.. Что делать дальше?

Ну помогите же разобраться в коде:
Код:
stop();
_global.k=416;
onLoad=function(){
	_global.total=_root.getBytesTotal();
	ndpr = new Array();
	ndp = new Array();
	for(i=1; i <= 418; i++){
		ndp["m"+i]=i+1;
		_root.cc["m"+i]._visible=false;
		if(i==418){
			_global.p=1;
		}
				
            }
}
onEnterFrame=function(){	
	_global.loading=_root.getBytesLoaded();
	_global.t=(Math.floor(((loading * 100)/total)* 100))/100;
   if(p==1){ 
   for(ii=1; ii < 418; ii++){
	if(t==ii* 0,24){   
		_root.cc["m"+ii]._visible=true;
	}
	}
   }
	if(loading==total){
		gotoAndStop(2);
	}
}
Подскажите плиз, где ошибка? Почему появление мувиклипов не привязывается к прогрузке мувика вцелом???


Последний раз редактировалось etc; 05.02.2008 в 10:37.
Старый 05.02.2008, 04:57
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 9  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
старайтесь избавиться от констант в коде. если пишите:
Код:
_global.k=416;
почему бы не воспользоваться ею тут:
Код:
for(i=1; i <= 418; i++)
совсем не понятная кострукция, любой запутается.
Код:
for(i=1; i <= 418; i++){
	ndp["m"+i]=i+1;
а надо:
Код:
for(var i:Number=0; i<k; i++){
	ndp["m"+i]=i;
тут все сокращается:
Код:
_global.t=Math.floor(loading/total * 100);
Код:
var k:Number = 416;
var total:Number = this.getBytesTotal();

var ndpr:Array = new Array();
var ndp:Array = new Array();

for(var i:Number=1; i<=k; i++){
	ndp["m"+i]=i+1;
	this.cc["m"+i]._visible=false;
}
onEnterFrame=function(){	
	var loading:Number = this.getBytesLoaded();
	var percent:Number = Math.floor(loading/total * 100);

      for(var i:Number=1; i<=k; i++){
	if(percent==i* 0,24){   
		this.cc["m"+i]._visible=true;
	}
      }
      if(loading>=total){
                      delete this.onEnterFrame;
		gotoAndStop(2);
      }
}


Последний раз редактировалось MrPoma; 05.02.2008 в 05:01.
Старый 05.02.2008, 23:45
IamZuBila16 вне форума Посмотреть профиль Отправить личное сообщение для IamZuBila16 Найти все сообщения от IamZuBila16
  № 10  
Ответить с цитированием
IamZuBila16
[+5 09.01.08]
[+6 21.03.08]

Регистрация: Dec 2007
Сообщений: 48
Все-равно не пашет!!!
Вся надпись заполняется моментально, а не в зависимости от загрузки!...
КАК ЭТО ИСПРАВИТЬ???

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

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

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


 


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


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