[AS2]Что такое easings и mx.transitions.Tween
Пример простейшего прямолинейного движения
Код:
//Создаем Мувик
_root.createEmptyMovieClip("ball_mc",3);
//рисуем кружок
ball_mc.lineStyle(35,0xff6600,100);
ball_mc.moveTo(0,0);
ball_mc.lineTo(0.5,0);
//Двигаем
import mx.transitions.*;
import mx.transitions.easing.*;
var moving = new mx.transitions.Tween(ball_mc, "_x", None.easeOut, 0,50,20);
Разбор полетов
function Tween (obj, prop, func, begin, finish, duration, useSeconds)
obj - (Object)путь до объекта свойства которого будем менять
prop - (String) строка, свойство которое будем менять у объекта("_x");
func - (Function) метод с помощью которого будем менять(Strong.easeOut)
begin - (Number) начальная позиция
finish - (Number) конечная позиция
duration -(Number) Время в секундах либо в кадрах
useSeconds - (Boolean) будет ли время исчесляться в секундах или в кадрах(по умолчанию кадры)
Код:
//Импортируем нужные нам библиотеки, дабы не писать путь полностью,
//да и читабильность возрастает
import mx.transitions.*;
import mx.transitions.easing.*;
//переходим к делу,
var moving = new Tween(ball_mc, "_x", None.easeOut, 0,50,20);
недавно извращался и напаролся на такой прикольный эфект
Код:
import mx.transitions.*;
import mx.transitions.easing.*;
//Создаем Мувик
_root.createEmptyMovieClip("ball_mc", 3);
//рисуем кружок
ball_mc.lineStyle(35, 0xff6600, 100);
ball_mc.moveTo(0, 0);
ball_mc.lineTo(0.5, 0);
this.onMouseDown = function() {
var coords:Array = new Array(50);
var xm = new Tween(ball_mc, "_x", Bounce.easeOut, ball_mc._x, _xmouse, 50);
var ym = new Tween(ball_mc, "_y", Bounce.easeIn, ball_mc._y, _ymouse, 50);
curFrame = 0;
this.onEnterFrame = function() {
if (curFrame == 50) {
delete this.onEnterFrame;
}
var b = this.ball_mc.duplicateMovieClip("ball" + curFrame, 10 + curFrame, {_x:ball_mc._x, _y:ball_mc._y, _alpha:20});
this["fx" + curFrame] = new Tween(b, "_x", Bounce.easeIn, ball_mc._x, ball_mc._x - 40, 50 - (curFrame - 2));
this["fx2" + curFrame] = new Tween(b, "_y", Bounce.easeIn, ball_mc._y, ball_mc._y - 40, 50 - (curFrame - 2));
curFrame++;
};
};
Подробней можно прочесть тут(англ)
|