|
|
|||||
[6 07.05.06]
Регистрация: Dec 2005
Сообщений: 98
|
Глюки с Tween перетасовкой карт
В общем, навалял я исходник - суть в чем - чтобы тасовались карты.
Нажимаешь на верхнюю, она пропадает альфой все сдвигаются вперед на ее место, и появляется тоже альфой на месте последней. Когда нажимать медленно - все работает гуд. Когда же начинать быстро нажимать - начинаются глюки.. не в том порядке меняются, или одна пропадает вообще. Как сделать так, чтобы нажатие на карты во время их передвижения (до полной остановки) было невозможным? |
|
|||||
[6 07.05.06]
Регистрация: Dec 2005
Сообщений: 98
|
Скорее всего тут трабла в том, что когда нажимаешь на кнопку и выполняется несколько действий общей длительности 2 секунды, и за этот промежуток нажать еще раз - тогда будет такой хаос... а как сделать теперь, чтобы после нажатия на кнопку, игнорировались действия onPress, и лишь когда все станет на свои места - тогда чтобы обработчик снова был готов реагировать на нажатие
|
|
|||||
Регистрация: 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 } } |
Часовой пояс GMT +4, время: 17:28. |
|
« Предыдущая тема | Следующая тема » |
|
|