Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Работа с циклом for (http://www.flasher.ru/forum/showthread.php?t=165432)

silin 23.08.2011 10:40

>> Ребят вы чего!
да мы ничего, собственно, типа твины запускаем :)

TweenMax не поддерживает возможности 'нанизать' твины в цепочку,
как вариант можно их через delay запустить
Код AS3:

var speedCoords:Array = [195, 235, 310, 335];
var speedMax:int = speedCoords.length;
 
for (var i:int = 0; i < speedMax; i++)
{
        TweenMax.to(spd_mc, 4, { delay:i * 4, shortRotation: { rotation:speedCoords[i] }} );
}

UPD:
сори: поспешил с выводами сгоряча,
на самом деле поддрживает - через TimelineLite/TimelineMax
Код AS3:

var t:TimelineMax= new TimelineMax();
for (var i:int = 0; i < speedMax; i++)
{
        t.append(new TweenMax(spd_mc, 4, { ease:Linear,shortRotation: { rotation: speedCoords[i] }} ));
}


fish_r 23.08.2011 11:03

Можно наверное и без delay, если создавать экземпляр TweenMax'а, а не юзать статик... Наверное, не проверял, юзаю TimeLineLite, в таких случаях ( проще делается, без "for in"-ов), но думаю, что будет работать.

Добавлено через 7 минут
Гы.. а еще есть метод TweenMax.allTo(). Туда тоже можно без "for in"-а массив охапкой пихать.

DarkKnight2009 23.08.2011 11:23

Вложений: 1
Цитата:

Сообщение от silin (Сообщение 1024692)
>> Ребят вы чего!
да мы ничего, собственно, типа твины запускаем :)

TweenMax не поддерживает возможности 'нанизать' твины в цепочку,
как вариант можно их через delay запустить
Код AS3:

var speedCoords:Array = [195, 235, 310, 335];
var speedMax:int = speedCoords.length;
 
for (var i:int = 0; i < speedMax; i++)
{
        TweenMax.to(spd_mc, 4, { delay:i * 4, shortRotation: { rotation:speedCoords[i] }} );
}


Цитата:

Сообщение от carrotoff (Сообщение 1024698)
Сам удивился, открыв соседний топик.

Прошу, прощения за дежавю(кто знает - поймет) писал вчера с аккаунта друга, так как только зарегистрировался и можератор сказал, что тема будет опубликована только завтра, вот и пришлось писать тоже самое с чужого аккаунта.
Я все сделал, но подскажите, у меня что-то не то получается, анимация какая-то "рваная" что ли :(
Я архив прикрепил к сообщению, посмотрите кто-нибудь пожалуйста, что не так
Вложение 26951

fish_r 23.08.2011 11:35

Ага, вам "помоги", чтобы вы, потом, свой сарказм оттачивали?

Цитата:

Сообщение от DarkKnight2009 (Сообщение 1024631)
Спасибо большое, но мне нужен именно твинмакс :(

сглаживание делайте визуальных объектов... тогда будет плавно.

DarkKnight2009 23.08.2011 11:37

Цитата:

Сообщение от fish_r (Сообщение 1024706)
Ага, вам "помоги", чтобы вы, потом, свой сарказм оттачивали?

сглаживание делайте визуальных объектов... тогда будет плавно.

Я кого-то обидел, тем что написал?
Если да, то прошу прощения!

silin 23.08.2011 11:43

рваная она из-за того, что в каждом ENTER_FRAME ты запускаешь эти твины по новой, они путаются с уже запущенными..
вот сравни
Код AS3:

//addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);
//function onLoop(event:Event):void
//{
        for(var i:int = 0; i < speedMax; i ++)
        {               
                TweenMax.to(spd_mc, 1, {delay:i * 1.5, shortRotation:{rotation:speedCoords[i]}, ease:Linear.easeNone});
        }
 
//}


DarkKnight2009 23.08.2011 11:49

Цитата:

Сообщение от silin (Сообщение 1024708)
рваная она из-за того, что в каждом ENTER_FRAME ты запускаешь эти твины по новой, они путаются с уже запущенными..
вот сравни
Код AS3:

//addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);
//function onLoop(event:Event):void
//{
        for(var i:int = 0; i < speedMax; i ++)
        {               
                TweenMax.to(spd_mc, 1, {delay:i * 1.5, shortRotation:{rotation:speedCoords[i]}, ease:Linear.easeNone});
        }
 
//}


Спасибо огромное!
А если мне нужно будет сделать эффект переключения скорости, сбрасывание срелки на пару градусов назад, то это мне нужно после каждой выполненной функции добавлять ф-ю, которая будет сбрасывать стрелку? То есть, если не ошибаюсь у твинмакса есть CurrentStep, правильно?

silin 23.08.2011 12:11

а если нужно будет сделать всякое там еще, то нужно прикидывать когда и что запустить через delay или addCallback на окончание чего-то, обычная логика в-общем

>>если не ошибаюсь у твинмакса есть CurrentStep, правильно?
да много там чего есть навскидку, но вот не пользовался TweenMax'ом до сих пор, сейчас глянул и понял, что не буду, видимо, и впредь
а буду EazeTween'ом, рационально в нем все как-то и интуитивно понятно, плюс fluent interface c дружественным FD автокомплитом, вместо невнятных объектов

GBee 23.08.2011 12:13

Цитата:

TweenMax не поддерживает возможности 'нанизать' твины в цепочку,
как вариант можно их через delay запустить
А TimelineMax для чего тогда?

silin 23.08.2011 12:22

упс, виноват: неверно сказал, если иметь ввиду весь пакет
я искал в самом TweenMax и проглядел, что есть для этого специальный класс


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

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