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

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

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

Регистрация: Sep 2012
Сообщений: 204
По умолчанию Вопрос про TweenLite onComplete

Приветствую
Наверняка многие посмеются увидев этот вопрос, но я несколько раз перечитывал форум разработчика, и описания, но не понял некоторых моментов. А именно в таком случае у меня не выполняется функция onComplete
Код AS3:
TweenLite.to(e.currentTarget, 1.5, {x:230, y:-80, scaleX:13.65, scaleY:13.65, rotation:360, ease:Quad.easeOut, onComplete: deleteGirl});
		TweenLite.to(e.currentTarget, 0.5, {delay:1.4, alpha:0, overwrite:false});
		function deleteGirl(e:Event = null):void{
 
			this['girl'+i].visible = false;
			trace('kuku');
			removeChild(this['girl'+i]);
 
		}
TweenLite.to(congCont, 0.5, {delay:1.4, scaleX:1, scaleY:1,alpha:1});
как выяснилось что это связано с перекрыванием твина другим твином. Но что и где поправить?
Мне не понятен этот параметр overwrite . В данном случае он помогает мне сделать нужный мне эффект, но проблема возникла именно из за него
проясните пожалуйста ситуацию, и если не затруднит, объясните пожалуйста вот эту строчку
Код AS3:
TweenLite.to(mc, 5, {delay:3, x:300, ease:Back.easeOut, onComplete:onFinishTween, onCompleteParams:[5, mc]});
function onFinishTween(param1:Number, param2:MovieClip):void {
    trace("The tween has finished! param1 = " + param1 + ", and param2 = " + param2);
}
что это за параметры 5 и mc.. то есть понятно что это клип и какое то число, но какова логика написаного?


Последний раз редактировалось pomuс; 13.12.2012 в 23:33.
Старый 13.12.2012, 23:18
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 2  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
5 это длительность анимации, mc соответственно DisplayObject который вы двигаете

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

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
onCompleteParams:[5, mc] - это то, что передаётся в onFinishTween при завершении твина : onFinishTween(param1:Number, param2:MovieClip)

А по выполнению функции - у вас ошибка removeChildAt вместо removeChild
Трейс ведь выводится?
__________________
Будь проще.

Старый 13.12.2012, 23:33
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 4  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
ой, это я экспериментировал. Нет , трейс не выводится, и там было removeChild. Я уже многое попробовал
Но опять же про логину параметров- вот заканчивается у меня твин на ролик X. по завершению я указываю функцию, и параметры к этой функции. Смысл? где эти параметры окажутся? ролик mc и анимация 5 секунд..где, зачем , когда... вообще не догоняю. Мне кажется я смотрю в окно и ищу улицу

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

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
В приведённом примере функция onFinishTween, которая вызывается при завершении твина принимает два параметра: (param1:Number, param2:MovieClip).
В onCompleteParams:[5, mc] указано, что ей передать. По завершению твина произойдёт вызов функции onFinishTween. Будет аналогично тому, если бы вы просто написали onFinishTween(5, mc).

Код AS3:
TweenLite.to(e.currentTarget, 1.5, {x:230, y:-80, scaleX:13.65, scaleY:13.65, rotation:360, ease:Quad.easeOut, onComplete: deleteGirl});
TweenLite.to(e.currentTarget, 0.5, {delay:1.4, alpha:0, overwrite:false});
 
function deleteGirl(e:Event = null):void
{
	trace('kuku');
}
В этом случает трейс выводится. Вероятно где-то ещё у вас ошибка.
__________________
Будь проще.

Старый 14.12.2012, 13:44
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 6  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
1) но зачем передаются именно эти параметры? или эти 2 это просто как пример, и параметр может быть абсолютно разными?
2) странно, действительно голый скрипт пропускает трейс..
Я поотключел все побочные скрипты в моем файле, и именно в нем функцция onCompelte не выполняется
что за....

с чем может быть связано, не представляете?

Старый 14.12.2012, 14:06
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 7  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
1) Да передаваемые параметры могут быть любыми - это просто пример. Но и функция должна принимать параметры, которые вы её передаёте.
2) Возможно проблема тут:
Код AS3:
this['girl'+i].visible = false;
по вашему коду не видно откуда появляется i. Если вы хотите удалить со сцены объект, к которому применяете твин, то можно сделать так:

Код AS3:
private function onClick(e:MouseEvent):void 
{
	TweenLite.to(e.currentTarget, 1.5, {x:230, y:-80, scaleX:13.65, scaleY:13.65, rotation:360, ease:Quad.easeOut});
	TweenLite.to(e.currentTarget, 0.5, {delay:1.4, alpha:0, overwrite:false, onComplete: deleteGirl, , onCompleteParams:[e.currentTarget]});
}
 
private function deleteGirl(target:DisplayObject):void
{
	trace('kuku');
 
	if (contains(target)) //это проверка есть ли target на сцене
	{
		removeChild(target);
	}
 
}
Вызывать функцию удаления по окончанию второго твина, так как он закончится позже. И передавать в неё объект как параметр.
__________________
Будь проще.

Старый 14.12.2012, 23:17
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 8  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
КВАС
спасибо, это подтолкнуло меня на понимание
А проблема кстати была в currentTarget. Показывал не то что надо

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

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

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


 


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


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