PDA

Просмотр полной версии : Как зациклить анимацию, созданную с помощью Tween?


Ринсвинд
27.07.2007, 20:19
Создаю 10 мувиков и говорю им двигаться с помощью tween.

for (i=1;i<10;i++) {
duplicateMovieClip(my_mc,"my_mc"+i,this.getNextHighestDepth());
}

import mx.transitions.*;
import mx.transitions.easing.*;
for (i=1;i<10;i++) {
var GoTween:Tween = new Tween(eval("my_mc"+i), '_x', Strong.easeInOut, start, final, randomtime, true);
}

Все хорошо, они доезжают до конца и останавливаются.
Как мне в данном случае, когда я циклом наплодил твинов, их убить и запустить все по кругу, ну или оправить их назад, откуда приехали? :)
Наверное, нужно каждый твин в цикле как-то отдельно нумеровать? А как?

Ринсвинд
27.07.2007, 20:56
Да и вообще, как контролировать объект во время его "твиннинга" акшнскриптом? Например, я хочу скрыть его, когда его _x станет больше чего-то, или изменить его цвет... :)

iNils
27.07.2007, 21:03
for (i = 1; i < 10; i++) {
var GoTween:Tween = new Tween(eval("my_mc"+i), '_x', Strong.easeInOut, start, final, randomtime, true);
////это обратно и опять вперед
GoTween.onMotionFinished = GoTween.yoyo;
//// это сбытие срабатывает при каждом изменени
GoTween..onMotionChanged = function() {
//// тут делаем, что надо
//// вообще лучше тогда не на прямую менять _x,
//// а какую то переменную, а тут оперировать с ней
};
}

Ринсвинд
27.07.2007, 23:13
iNils Спасибо!Читаю форум давно, а спрашиваю недавно. По-моему, вы единственный добрый фей на форуме. :cool:

etc
27.07.2007, 23:21
Значит я злой колдун :D

Ринсвинд
28.07.2007, 00:08
Любые magick users хороши. :cool:

Хотя кстати, так волшебным образом работает именно GoTween.yoyo, а GoTween.rewind не хочет. Или rewind работает только в случае GoTween.start и stop? Вроде в доках это прямо не указано. Меня вышепреведенный пример устроил полностью, но просто интересно понять для общего развития, как перемотать все твины в цикле. :)

etc
28.07.2007, 11:32
rewind лишь переводит позицию в начало, без проигрывания.