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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.10.2007, 16:08
Odyssus вне форума Посмотреть профиль Отправить личное сообщение для Odyssus Найти все сообщения от Odyssus
  № 1  
Ответить с цитированием
Odyssus
[6 07.05.06]
 
Аватар для Odyssus

Регистрация: Dec 2005
Сообщений: 98
По умолчанию Глюки с Tween перетасовкой карт

В общем, навалял я исходник - суть в чем - чтобы тасовались карты.
Нажимаешь на верхнюю, она пропадает альфой все сдвигаются вперед на ее место, и появляется тоже альфой на месте последней.
Когда нажимать медленно - все работает гуд. Когда же начинать быстро нажимать - начинаются глюки.. не в том порядке меняются, или одна пропадает вообще.
Как сделать так, чтобы нажатие на карты во время их передвижения (до полной остановки) было невозможным?
Вложения
Тип файла: rar test.rar (8.5 Кб, 50 просмотров)

Старый 04.10.2007, 18:02
Odyssus вне форума Посмотреть профиль Отправить личное сообщение для Odyssus Найти все сообщения от Odyssus
  № 2  
Ответить с цитированием
Odyssus
[6 07.05.06]
 
Аватар для Odyssus

Регистрация: Dec 2005
Сообщений: 98
Скорее всего тут трабла в том, что когда нажимаешь на кнопку и выполняется несколько действий общей длительности 2 секунды, и за этот промежуток нажать еще раз - тогда будет такой хаос... а как сделать теперь, чтобы после нажатия на кнопку, игнорировались действия onPress, и лишь когда все станет на свои места - тогда чтобы обработчик снова был готов реагировать на нажатие

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

Регистрация: Apr 2007
Сообщений: 1,369
Знакомая проблемка. Вам нужно блокировать мувики, а потом разблокировать:
Код:
myListener.onLoadInit = function(mci:MovieClip) {
	mci.onPress=function(){
		Lock();		tween = new Tween(mci, "_alpha", None.easeOut, mci._alpha, 0, .8, true);
		tween.onMotionFinished=function(){
			UnLock();
			mci.swapDepths(mci.getDepth()-5);
			for(i=1;i<=4;i++){
				numer = swtch_forward(mci);
				number[i] = numer - i;
				if(number[i]<=0) number[i]=number[i]+4;
				}
			for(i=1;i<=4;i++){
				if(i!=4)mM(swtch_back(number[i]),koord[5-i].X,koord[5-i].Y);
				if (i==4) {swtch_back(number[4])._x = koord[1].X;swtch_back(number[4])._y=koord[1].Y;
					//tween.stop()
					tween = new Tween(mci, "_alpha", None.easeOut, mci._alpha, 100, .8, true);}
				}
			}
		}
	}

mcLoader.addListener(myListener);

for(i=1;i<=4;i++){
	_root.createEmptyMovieClip("kar_"+i, 1000+i);
	var mci = _root["kar_"+i];
	mci._x = koord[i].X;
	mci._y = koord[i].Y;
mcLoader.loadClip("img/karta_"+i+".jpg", mci);
};

function Lock(){
	for(i=1;i<=4;i++){
	this['kar_'+i].enabled=false
	}
}
function UnLock(){
	for(j=1;j<=4;j++){
	this['kar_'+j].enabled=true
	}
}
Можно делать tween.stop(), но тут не подойдет.

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

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

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


 


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


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