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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.08.2010, 13:28
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 1  
Ответить с цитированием
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
По умолчанию Дождаться окончания работы всех твинеров

(сразу скажу, я использую библиотеки от greensock)

Ситуация следующая. Есть много объектов на сцене и есть глобальное событие, которое применяется сразу ко всем объектам одновременно, единственное требование --->для выполнения этого твина - это ни 1 объект не должен двигаться.<---

Ближе к сути, есть сцена, разделённая на блоки, скажем 10х10, в каждом блоке находится 1 объект. Пользователь может поменять местами любые 2 объекта по всей сцене, смена мест естественно сделана с помощью твинов(tweenlite).

Ключевой момент - пользователь одновременно может менять любое кол-во объектов + каждые 60 секунд, все объекты смещаются на 1 клетку наверх(напомню, чтобы запустить анимацию нужно, чтобы ни 1 объект не двигался).

Сейчас у меня такая вот реализация:
Код AS3:
		public function apendMult(_objects:Array):void {
			var _timeLine:TimelineLite = new TimelineLite( { onStart: pauseGlobal, onComplete: unpauseGlobal } );
			_timeLine.appendMultiple(_objects);
		}
 
		private function pauseGlobal():void {
			_pauseCounter++;
 
			if(_pauseCounter > 0){
				_timeLine.pause();
			}
		}
 
		private function unpauseGlobal():void {
			_pauseCounter--;
 
			if(_pauseCounter <= 0){
				_timeLine.resume();
			}
		}
Собственно проблема в том, что "_pauseCounter" иногда неправильно считает запущенные твины(особенно заметно если одновременно запустить очень много действий, используя объекты уже находящиеся в движении). Может что-то не очень ясно объясняю, но мне сразу тоже сложно объяснить саму суть проблемы, возможно уже кто-то сталкивался с подобным или мб есть готовые решение для твинов.

_timeLine - это глобальный таймлайн
__________________
С вами был -=Xel'[Naga]

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

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

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


 


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


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