Как переместить объект вдоль функции сплайна или синуса в Flex 3 - PullRequest
0 голосов
/ 20 января 2011

Я пытаюсь создать эффект, аналогичный тому, который используется в CityVille для сбрасывания монет и значков опыта, они выполняют пользовательскую анимацию перемещения, и сначала она перемещается немного вверх, а затем вниз.Похоже, что он следует за сплайном или синусоидальной функцией.

Эффект «Перемещение» в flex 3 перемещается только линейно.

Ответы [ 2 ]

0 голосов
/ 22 января 2011

Используйте библиотеку анимации, например Actuate http://code.google.com/p/actuate/ Это позволяет вам анимировать объект по кривой Безье или по специальной траектории движения, например:

var xPath:MotionPath = MotionPath.bezier (200, 20).line (400);
var yPath:MotionPath = MotionPath.bezier (0, 300).line (0);

Actuate.motionPath (MySprite, 1, { x: xPath, y: yPath } );

Очень похожая библиотека eaze http://code.google.com/p/eaze-tween/ и это mxml дружественная оболочка: http://code.google.com/p/eazefx/

0 голосов
/ 20 января 2011

Вы должны смотреть на Tweens вместо Moves.Примером может быть:

import mx.transitions.easing.*;
import mx.transitions.Tween;

new Tween(myMC, ‘_x’, Regular.easeOut, myMC._x, myMC._x + 300, 30);
new Tween(myMC, ‘_y’, Regular.easeIn, myMC._y, myMC._y + 300, 30);

Код является случайным результатом Google, поэтому я не публикую никаких гарантий.Также для себя я бы предпочел анимацию движения, например TweenLite: http://www.greensock.com/tweenlite/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...