Быстрая цитатаОтвет с цитированием этого сообщения
offline аморал
*
Группа: Размышляющие
Сообщений: 533
Пользователь № 18 152
Возраст: 23
Регистрация: 13.11.2006
Проживает: Киев
Репутация: 45° [ + | — ]
Подарков: 4
Дэмани: 381 D
1)Для чего предназначен Tween класс?
Tween класс позволяет создавать анимацию с помощью программного кода. Проще говоря - двигать, увеличивать, уменьшать, делать прозрачным, вращать нужный вам объект. Весьма удобное средство для создания и управления анимацией, по сравнению с ручным режимом smile.gif . Этот класс экономит как размеры будущего исходного откомпилированного swf файла, так и оперативной памяти вашей рабочей лошадки. В использовании этого класса я замечал только плюсы и пользуюсь им постоянно.
2) Синтаксис, параметры Tween класса
Tween класс имеет следующие параметры и типы.
CODE
function Tween(obj, prop, func, begin, finish, duration, useSeconds) {
// code ...
}
А теперь подробнее о каждом параметре, чтоб осознавать кто за что отвечает при создании анимации:
obj – обьект Movie Clip, для которого предназначена анимация (напр.: mc_mymovie);
prop – название в строковой форме параметра, который мы анимируем (напр.: “_x”);
func – метод класса Easing(который мы рассмотрим в следующем пункте), который создает плавность для будущей анимации;
begin – значение с которого вы хотели бы начать вашу анимацию;
finish – значение на котором ваша анимация заканчивается;
duration – количество фреймов или секунд за которое будет проигрываться ваша анимация;
useSeconds – boolean индикатор, который определяет, будет ли продолжительность анимации измеряться во фреймах (false) или в секундах (true). Если не указать никакого значения, то по умолчанию параметр равен false, то есть продолжительность будет считаться во фреймах.
3) Описание Easing классов и методов.
Все это хорошо, но классу Tween, к сожалению никак не обойтись без еще одного, не менее интересного класса Easing. Это именно с помощью методов этого класса можно создать плавную анимацию. Есть очень много комбинаций с плавностью анимации, поэтому, мне кажется, каждый может найти себе анимацию по вкусу.
Есть 6 категорий плавности анимации, к которым можно применить еще 4 разных типа анимации.
Вот полный перечень категорий и типов плавности:
Back -- Объект выходит за рамки начальных и конечных параметров намеченной анимации.
Bounce -- Создает эффект отскакивания от одного или двух границ анимации
Elastic -- Создает эффект эластичного маятника.
Regular -- Создает эффект затухания или ускорения в начале или конце анимации.
Strong -- По своим свойствам аналогичен предыдущему, но создает впечатление массивности объекта при анимации.
None -- Нет никакого эффекта, анимация постоянная и линейная
Список типов плавности:
easeIn -- Эффект вначале анимации
easeOut -- Эффект в конце анимации
easeInOut -- Эффект вначале и в конце анимации
easeNone -- Линейная анимация, используеться в тандеме с категорией None
4)Как пользоваться этими классами?
Вот элементарный пример по созданию анимации движения вдоль оси абсцисс,
начиная с х=70 и заканчивая х=500, длительность анимации – 1 секунда, вид плавности – плавное ускорение с момента движения. Все параметры нам известны:
obj - _root.movie (ранее созданный мувик и помещенный в таймлайн)
prop – “_x” (мы будем менять координату х)
func – согласно описанию подходит Regular.easeIn;
begin – 70;
finish – 500;
duration – 1 (здесь можно использовать и дробь – 0,7; 0,5 и т.д.)
useSeconds – true (длительность в секундах)
Ну что ж, вот и программный код, который содержит всего 3 строки.
CODE
import mx.transitions.Tween;
import mx.transitions.easing.*;
var tween_x1:Tween = new Tween(_root.movie, "_x", Regular.easeIn, 70,500, 1, true);
Пример (нажатие на кнопку не рассматриваем):
Первые 2 строки – мы импортируем непосредственно классы Tween и Easing, чтоб потом с ними работать, в противном случае – мы не получим ожидаемый результат.
3-я строка – сама анимация нашего мувиклипа вдоль оси Х.
5) К каким параметрам объекта можно применять эти классы.
Твины можно применять к таким параметрам мувиклипа:
• “_x”
• “_y”
• “_xscale”
• “_yscale”
• “_alpha”
• “_rotation”
Вот пример, который наглядно покажет, как это все происходит.
Пример:
6) Примеры отдельных видов анимации.
И наконец наглядный пример использования всех видов плавности:
Пример:
7) Методы, свойства, обработчики событий Tween класса
Методы Tween класса
Tween.continueTo() -- Анимация продолжается от ее текущего значения к новому значению.
Tween.fforward() -- Перемещает анимированный объект сразу на конец анимации
Tween.nextFrame() -- Перемещает анимированный объект на следующий фрейм.
Tween.prevFrame() -- Перемещает анимированный объект на предыдущий фрейм
Tween.resume() -- Продолжает анимацию, если она была заранее остановлена.
Tween.rewind() -- Перемещает анимированный объект сразу на начало анимации.
Tween.start() -- Запускает анимацию сначала.
Tween.stop() -- Останавливает анимацию на ее текущей позиции.
Tween.toString() -- Возвращает имя класса, "[Tween]".
Tween.yoyo() -- Создает эффект «йойо» - анимация повторяется с конца в начало и наоборот.
Свойства Tween класса
Tween.duration -- Длительность анимации в секундах или фреймах. Только чтение.
Tween.finish -- Последние значение анимации по определенному параметру. Только чтение.
Tween.FPS -- Значение FPS для данной анимации. Только чтение..
Tween.position -- Текущее значение анимации по определенному параметру. Только чтение.
Tween.time -- Текущая длительность анимации. Только чтение.
Обработчики событий Tween класса
Tween.onMotionChanged -- Обработчик событий, который определяет, изменилась ли позиция объекта в анимации.
Tween.onMotionFinished -- Обработчик событий, который определяет,что анимация закончилась.
Tween.onMotionResumed -- Обработчик событий, который определяет, что метод Tween.resume() был вызван.
Tween.onMotionStarted -- Обработчик событий, который определяет, что метод Tween.start() был вызван.
Tween.onMotionStopped -- Обработчик событий, который определяет, что метод Tween.stop() был вызван.
Вот примеры работы нескольких методов, свойств и обработчиков событий:
Вот и все!