Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как зациклить анимацию, созданную с помощью Tween? (http://www.flasher.ru/forum/showthread.php?t=99090)

Ринсвинд 27.07.2007 20:19

Как зациклить анимацию, созданную с помощью Tween?
 
Создаю 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 лишь переводит позицию в начало, без проигрывания.


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

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