Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как сделать плавное движение actionscript (http://www.flasher.ru/forum/showthread.php?t=193992)

meliot 06.02.2013 01:25

Как сделать плавное движение actionscript
 
Подскажите пожалуйста простой способ, с помощью actionscript, создать плавное движение объекта в одном кадре по оси x.

bav 06.02.2013 01:53

TweenLite

caseyryan 06.02.2013 07:01

Если проект коммерческий, но платить за твинер не хочется, то tweenlite не лучший способ, так как у него платная лицензия для коммерческих проектов.
А вот caurina бесплатный, и ни чем не хуже

СлаваRa 06.02.2013 12:27

от себя могу посоветовать eaze-tween

Wild 06.02.2013 21:59

Код AS3:

addEventListener ( Event.ENTER_FRAME, имя функции ) ;
function имя функции ( e : Event ) : void {
  if ( имя обьекта.x < stage.stageWidth ) {
имя обьекта.x += 1;
} else {
имя обьекта.x = 0;
}
}

Вроде так )

meliot 10.02.2013 14:23

Цитата:

Сообщение от caseyryan (Сообщение 1119342)
Если проект коммерческий, но платить за твинер не хочется, то tweenlite не лучший способ, так как у него платная лицензия для коммерческих проектов.
А вот caurina бесплатный, и ни чем не хуже

А как они узнают, что я его использую?

caseyryan 10.02.2013 14:26

никому это не надо, если конечно по какой-то причине не возникнет разбирательства (что маловероятно, для малых проектов). А если возникнет, декомпиляция это легко покажет

meliot 10.02.2013 14:27

Цитата:

Сообщение от Wild (Сообщение 1119481)
Код AS3:

addEventListener ( Event.ENTER_FRAME, имя функции ) ;
function имя функции ( e : Event ) : void {
  if ( имя обьекта.x < stage.stageWidth ) {
имя обьекта.x += 1;
} else {
имя обьекта.x = 0;
}
}

Вроде так )

Как я понял эта функция работает при смене кадра. Моя задача осуществить движение в одном кадре.

caseyryan 10.02.2013 14:29

Цитата:

Как я понял эта функция работает при смене кадра.
Нет. Кадры на временной шкале адоби флеш не имеют к этому никакого отношения

meliot 10.02.2013 14:29

Цитата:

Сообщение от caseyryan (Сообщение 1120037)
никому это не надо, если конечно по какой-то причине не возникнет разбирательства (что маловероятно, для малых проектов). А если возникнет, декомпиляция это легко покажет

greensock - это вроде забугорная компания. Врядли они мониторят проекты стран СНГ.

Добавлено через 13 минут
Цитата:

Сообщение от caseyryan (Сообщение 1120041)
Нет. Кадры на временной шкале адоби флеш не имеют к этому никакого отношения

То есть ENTER_FRAME срабатывает с частотой fps?

Jewelz 10.02.2013 14:50

ENTER_FRAME срабатывает при переходе на новый кадр

плавное движение в одном кадре, это вы как себе вообще представляете? минимальная итерация как раз кадр, т.е. в первом кадре x = 50 во втором x = 60, получили движение

meliot 10.02.2013 14:52

Цитата:

Сообщение от Wild (Сообщение 1119481)
Код AS3:

addEventListener ( Event.ENTER_FRAME, имя функции ) ;
function имя функции ( e : Event ) : void {
  if ( имя обьекта.x < stage.stageWidth ) {
имя обьекта.x += 1;
} else {
имя обьекта.x = 0;
}
}

Вроде так )

TweenLite поплавнее будет)

Добавлено через 2 минуты
Цитата:

Сообщение от Jewelz (Сообщение 1120050)
ENTER_FRAME срабатывает при переходе на новый кадр

плавное движение в одном кадре, это вы как себе вообще представляете? минимальная итерация как раз кадр, т.е. в первом кадре x = 50 во втором x = 60, получили движение

Наверное неправильно выразился. Плавное движение не завязанное на временную шкалу адоба.

derhab 10.02.2013 15:28

Цитата:

Сообщение от caseyryan (Сообщение 1119342)
А вот caurina ни чем не хуже

http://www.greensock.com/tweening-speed-test/
Хуже, все зависит от количества анимируемых объектов, при 2000, например, tweener уже умирает.

expl 10.02.2013 18:12

На TweenLite свет клином не сошёлся:
http://habrahabr.ru/post/112347/

derhab 10.02.2013 19:22

Да там 2/3 твинеров уже давно не поддерживаются разработчиками, а те, что живы уступают greensock в производительности и/или функционале. А так да, не сошелся, зависит от задачи.

namespaces 10.02.2013 23:16

Не знаю для кого как, TweenLite для меня стал стандартом де-факто. Больше всего использую TweenNano из за размера.
За все это время, еще не видел косяков у этого плагина.

caseyryan 10.02.2013 23:29

Цитата:

Хуже, все зависит от количества анимируемых объектов, при 2000, например, tweener уже умирает.
Жесть конечно. У меня еще не было в практике таких случаев, когда нужно было твинить столько объектов.

derhab 11.02.2013 00:02

все впереди)

vorodis2 11.02.2013 11:11

Все твинеры упадут при 2000, так как во всех их них есть ENTER_FRAME, как то думал что caurina не мой выбор решил проверить все твинеры на производительность, по мне так они все одинаковые.
http://vorodis2.com/#id:testtween
Собственно счас использую caurina

Hauts 11.02.2013 11:19

vorodis2, а можно ли код теста посмотреть?

Кстати "упадут при 2000, так как во всех их них есть ENTER_FRAME" весьма сомнительное изречение. Ну и что, что есть энтер-фрэйм? Механика внутренней работы у всех разная.

Поправьте меня, если я ошибаюсь, но я склонен доверять тесту гринсока.

Обратите внимание на тест as3: "Instances: 2500"

vorodis2 11.02.2013 16:15

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

Hauts 11.02.2013 16:19

Опс, не заметил ссылку. Посмотрю на досуге.

Не буду дальше спорить.


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

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