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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.06.2012, 10:48
JOKER_MAX вне форума Посмотреть профиль Отправить личное сообщение для JOKER_MAX Найти все сообщения от JOKER_MAX
  № 1  
Ответить с цитированием
JOKER_MAX

Регистрация: Feb 2011
Сообщений: 27
По умолчанию Задержка добавления мувика через attachMovie

Есть такой код:
Код AS1/AS2:
for (i=1;i<5;i++)
   {	  
      cl = _root.attachMovie("panel_menu","panel"+i,i);
      cl._y = i*100;
   }
Как сделать чтобы мувики добавлялись с разницей в одну секунду? пробовал так:
Код AS1/AS2:
for (i=1;i<5;i++)
   {	  
      setTimeout(function(){	
      cl = _root.attachMovie("panel_menu","panel"+i,i);
      cl._y = i*100;
      },1000);
   }
не получается

Старый 08.06.2012, 10:53
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
var totalMovies = 5;
var addedMoviesCount = 0;
var addMoviesInterval = setInterval(addMovie, 1000);
 
function addMovie() {
	addedMoviesCount++;
	if (addedMoviesCount == totalMovies) {
		clearInterval(addMoviesInterval);
		return;
	}
	var i = addedMoviesCount + 1;
	var mc = _root.attachMovie("panel_menu", "panel" + i, i);
	mc._y = i * 100;
}
А вообще, если вам нужно просто появление с задержкой, можете воспользоваться классом TweenLite для анимации появления. То есть создать все мувики в цикле за раз, и там же, в цикле, каждому мувику добавить анимацию появления _alpha : 100 со значением задержки delay. Если такой подход интересен, могу подробнее описать.
__________________
hauts.ru


Последний раз редактировалось Hauts; 08.06.2012 в 10:55.
Старый 08.06.2012, 10:59
JOKER_MAX вне форума Посмотреть профиль Отправить личное сообщение для JOKER_MAX Найти все сообщения от JOKER_MAX
  № 3  
Ответить с цитированием
JOKER_MAX

Регистрация: Feb 2011
Сообщений: 27
Hauts, интересен. Подробнее, пожалуйста. Меня и интересует именно появление с задержкой. Только там _alpha не подходит. Мувики с движением.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Тут как раз уместно использовать setInterval :

Код AS1/AS2:
var i:Number = 1;
var attachInterval:Number = setInterval(setPanel, 1000);
 
function setPanel() 
{
	if (i < 5)
	{
		var cl:MovieClip = _root.attachMovie('panel_menu', 'panel' + i, i);
		cl._y = i * 100;
		i++;
	}
	else
	{
		clearInterval(attachInterval);
	}
}
__________________
Идите первым!


Последний раз редактировалось mooncar; 08.06.2012 в 11:03.
Старый 08.06.2012, 11:04
JOKER_MAX вне форума Посмотреть профиль Отправить личное сообщение для JOKER_MAX Найти все сообщения от JOKER_MAX
  № 5  
Ответить с цитированием
JOKER_MAX

Регистрация: Feb 2011
Сообщений: 27
Спасибо. и так и так работает

Старый 08.06.2012, 11:11
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 6  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Идем на сайт greensock и скачиваем библиотеки AS2 для анимации. Вам потребуется TweenLite (можно и другие, конечно).

Далее в папку с вашим исходником кладете папку "com" из скаченого архива и в коде, где планируете использовать класс TweenLite подключаете его следующей строкой (в начале кода):
Код AS1/AS2:
import com.greensock.*
Теперь относительно появления клипов, я покажу на примере с прозрачностью.
Код AS1/AS2:
import com.greensock.*
for (var i = 1; i < 5; i ++){	  
      var newClip = _root.attachMovie("panel_menu","panel"+i,i);
      newClip._y = i*100;
      newClip._alpha = 0;
      TweenLite.to(newClip, i, {_alpha : 100, delay: i});
}
В последней строке вы создаете новую программную анимацию. В обычном случае программно можно анимировать любые числовые значения объектов. Такие, как _alpha, _x, _y, _xscale и т.д.

Первый параметр в TweenLite.to — это целевой объект, у которого вы будете менять свойство. Можно, например, поставить _root (или this) и менять свойства у основной временной шкалы.

Второй параметр, в данном случае, "1" — это продолжительность анимации в сукундах.

Третий параметр — это объект со свойствами для анимации. В нем я прописал "_alpha:100", что значит, что непрозрачность объекта за одну секунду должна стать 100-процентной. Так же в этом объекте есть свойство delay — это задержка до старта анимации в сукундах.

Таким образом вы получаете создание объектов единовременно, но последовательно их появление с задержкой в 1 секунду.

Вообще почитайте по ссылке документацию, для объекта со свойствами анимации существуют разные "настройки", не только delay.
__________________
hauts.ru

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

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

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


 


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


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