Форум Flasher.ru

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

DarkKnight2009 19.07.2011 14:45

Цитата:

Сообщение от КорДум (Сообщение 1012827)
Все так с циклом. Здесь конкретно в твинах особенность. Твин в текущем кадре заменяет предыдущий твин в этом же кадре. И ему безразлична задержка.

Добавлено через 33 секунды

Нет. Посмотрите документацию.

А что именно там смотреть ?
я открыл класс TimelineLite, но не знаю просто что мне нужно

Добавлено через 49 секунд
Цитата:

Сообщение от kuflash (Сообщение 1012825)
А почему бы не воспользоваться таймером? В нем просто увеличивать какую нибудь переменную на 1 и делать что-то подобное:
Код AS3:

count++;
TweenLite.to(shape, 1, {x:5, y:addClass_SetText._getCoords[count]})


Нужен именно Tween библиотека :(

КорДум 19.07.2011 14:47

Что вы открыли и где смотрите?
http://www.greensock.com/as/docs/twe...elineLite.html - вот ссылка. Там есть примеры.

Добавлено через 40 секунд
Код AS3:

import com.greensock.*;
 
//create the timeline and add an onComplete callback that will call myFunction() when the timeline completes
var myTimeline:TimelineLite = new TimelineLite({onComplete:myFunction});
 
//add a tween
myTimeline.append(new TweenLite(mc, 1, {x:200, y:100}));
 
//add another tween at the end of the timeline (makes sequencing easy)
myTimeline.append(new TweenLite(mc, 0.5, {alpha:0}));
 
//reverse anytime
myTimeline.reverse();
 
//Add a "spin" label 3-seconds into the timeline
myTimeline.addLabel("spin", 3);
 
//insert a rotation tween at the "spin" label (you could also define the insert point as the time instead of a label)
myTimeline.insert(new TweenLite(mc, 2, {rotation:"360"}), "spin");
 
//go to the "spin" label and play the timeline from there
myTimeline.gotoAndPlay("spin");
 
//add a tween to the beginning of the timeline, pushing all the other existing tweens back in time
myTimeline.prepend(new TweenMax(mc, 1, {tint:0xFF0000}));
 
//nest another TimelineLite inside your timeline...
var nestedTimeline:TimelineLite = new TimelineLite();
nestedTimeline.append(new TweenLite(mc2, 1, {x:200}));
myTimeline.append(nestedTimeline);


kuflash 19.07.2011 14:48

Так никто не говорит отказываться от класса Tween. Просто цикл заменить таймером.

КорДум 19.07.2011 14:49

Цитата:

Сообщение от kuflash (Сообщение 1012839)
Так никто не говорит отказываться от класса Tween. Просто цикл заменить таймером.

Есть более элегантные способы решения задачи. И они уже предоставлены greensock. Нужно только суметь про них узнать и применить.

DarkKnight2009 19.07.2011 14:50

Цитата:

Сообщение от КорДум (Сообщение 1012836)
Что вы открыли и где смотрите?
http://www.greensock.com/as/docs/twe...elineLite.html - вот ссылка. Там есть примеры.

Добавлено через 40 секунд
Код AS3:

import com.greensock.*;
 
//create the timeline and add an onComplete callback that will call myFunction() when the timeline completes
var myTimeline:TimelineLite = new TimelineLite({onComplete:myFunction});
 
//add a tween
myTimeline.append(new TweenLite(mc, 1, {x:200, y:100}));
 
//add another tween at the end of the timeline (makes sequencing easy)
myTimeline.append(new TweenLite(mc, 0.5, {alpha:0}));
 
//reverse anytime
myTimeline.reverse();
 
//Add a "spin" label 3-seconds into the timeline
myTimeline.addLabel("spin", 3);
 
//insert a rotation tween at the "spin" label (you could also define the insert point as the time instead of a label)
myTimeline.insert(new TweenLite(mc, 2, {rotation:"360"}), "spin");
 
//go to the "spin" label and play the timeline from there
myTimeline.gotoAndPlay("spin");
 
//add a tween to the beginning of the timeline, pushing all the other existing tweens back in time
myTimeline.prepend(new TweenMax(mc, 1, {tint:0xFF0000}));
 
//nest another TimelineLite inside your timeline...
var nestedTimeline:TimelineLite = new TimelineLite();
nestedTimeline.append(new TweenLite(mc2, 1, {x:200}));
myTimeline.append(nestedTimeline);


Мне нужен delay ?

КорДум 19.07.2011 14:52

Здесь нет, если только анимация у вас не последовательная, а с задержками (межд у перемещениями). Рассматривайте Timeline как таймлайн мувиклипа. А твины - покадрые твины FlashIDE. А вообще, попробуйте, гораздо проще будет самому узнать.

DarkKnight2009 19.07.2011 14:54

Цитата:

Сообщение от КорДум (Сообщение 1012846)
Здесь нет, если только анимация у вас не последовательная, а с задержками (межд у перемещениями). Рассматривайте Timeline как таймлайн мувиклипа. А твины - покадрые твины FlashIDE. А вообще, попробуйте, гораздо проще будет самому узнать.

Тоесть мне нужно применять ЭТО в моем цикле ? Или цикл уже не нужен ?

КорДум 19.07.2011 14:55

В цикле вызывайте метод append у таймлайна. Пихайте туда ваши твины, но без задержки.

DarkKnight2009 19.07.2011 15:02

Цитата:

Сообщение от КорДум (Сообщение 1012849)
В цикле вызывайте метод append у таймлайна. Пихайте туда ваши твины, но без задержки.

Круто ! Спасибо работает ! Я даже не знал, что подобное есть !
А для задержки, чтоб фигура долже простояла на новой координате можно использовать delay?

КорДум 19.07.2011 15:03

Ага, можно, конечно. Точно так же в твин ее писать.


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

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