Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обратиться с объекту анимирующийся через tween (http://www.flasher.ru/forum/showthread.php?t=139608)

PHILOSOFF 05.05.2010 23:17

Обратиться с объекту анимирующийся через tween
 
Спрашиваю первый раз, так что сильно не бейте :)
Код AS3:

               private function createMonstaer(e:TimerEvent):void
                {
                        monster_mc = new monster();
                        monster_mc.RandomPointOnStage();
                        monster_Container.addChild(monster_mc);
                            tweenX = new Tween(monster_mc, "scaleX", Strong.easeIn, monster_mc.scaleX, monster_mc.scaleX + 2, 1, true);
                        var tweenY = new Tween(monster_mc, "scaleY", Strong.easeIn, monster_mc.scaleY, monster_mc.scaleY + 2, 1, true);
                        tweenX.addEventListener(TweenEvent.MOTION_FINISH , hitPlayer);
                }
 
                private function hitPlayer(e:Event):void
                {
                        //тут нужно обратиться с объекту, на котором tween анимация завершилась
                }

Я конечно понимаю, что в данной реализации можно обращаться через метод monster_Container.getChildAt(countChild++) предварительно обнулив переменную countChild. Пока этот метод прокатывает :umnik2:
Но, если я буду рандомить время tween анимации, то будет явно косяк.

Наверняка есть какой-то метод, но я его не вижу.

CEBEP 05.05.2010 23:33

e.target ?

И вообще не пользуйтесь Tween-ами, посмотрите в сторону TweenMax

PHILOSOFF 06.05.2010 00:18

Цитата:

Сообщение от CEBEP (Сообщение 906228)
e.target ?

e.target я первым делом попробовал, но уже предполагал что не прокатит. В моем случае e.target - объект tween, а не объект монстер. Соответственно у твина нету метода x, visible и прочих :)

"ReferenceError: Error #1069: Property visible not found on fl.transitions.Tween and there is no default value."

Цитата:

Сообщение от CEBEP (Сообщение 906228)
И вообще не пользуйтесь Tween-ами, посмотрите в сторону TweenMax

Так бегло глянул что за зверь... неплохо. :)
Почитаю потом поподробней. Благодарю.

leofit 06.05.2010 10:59

Код AS3:

function hitPlayer(e:Event):void 
{
        //тут нужно обратиться с объекту, на котором tween анимация завершилась
        trace(e.target.obj);
}


nOobCrafter 06.05.2010 11:35

для начала если не ошибаюсь надо вобще TweenEvent использовать...)
Код AS3:

function hitPlayer(e:TweenEvent):void


PHILOSOFF 06.05.2010 20:44

Цитата:

Сообщение от leofit (Сообщение 906299)
Код AS3:

function hitPlayer(e:Event):void 
{
        //тут нужно обратиться с объекту, на котором tween анимация завершилась
        trace(e.target.obj);
}


Благодарю. Работает. Странно, что FlashDevelop не предлагает такого варианта :(

Цитата:

Сообщение от nOobCrafter (Сообщение 906304)
для начала если не ошибаюсь надо вобще TweenEvent использовать...)
Код AS3:

function hitPlayer(e:TweenEvent):void


Да, по идее должен быть TweenEvent, но у меня работает в обоих случаях. Хотя странно что компилятор ошибку не выдает если юзать обычный эвент.

alatar 07.05.2010 11:55

Цитата:

Сообщение от PHILOSOFF (Сообщение 906396)
Странно, что FlashDevelop не предлагает такого варианта :(

Странно было бы если б он предлагал. откуда ему знать какие свойства у target, если таргет это object


Цитата:

Сообщение от PHILOSOFF (Сообщение 906396)
Да, по идее должен быть TweenEvent, но у меня работает в обоих случаях. Хотя странно что компилятор ошибку не выдает если юзать обычный эвент.

Ничего странного, все события наследники Event

КорДум 07.05.2010 12:43

Классы пишутся с большой буквы.
Код AS3:

(e.target as TweenEvent).obj

вот так ФД выдаст все свойства и методы.

incvizitor 07.05.2010 12:56

Цитата:

Так бегло глянул что за зверь... неплохо.
Почитаю потом поподробней. Благодарю.
Вы не бегло смотрите, а переходите прямо сегодня. Поверьте, вы сэкономите много времени и нервов.

Код AS3:

(e.target as TweenEvent).obj

А может

Код AS3:

(e.target as Tween).obj

?

КорДум 07.05.2010 12:57

Тьфу, конечно просто Tween)


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

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