Главная » 2009 » Апрель » 28 » Программная анимация и не только…
00:14
Программная анимация и не только…

Вопрос:
Вот у меня проблема, как реализовать плавный прыжок MovieClipa. Я понимаю надо делать так, прибавляем постепенно до определённой отметки и потом опускаем настолько же, насколько прибавили, но как это сделать плавно?

Ответ:
Гораздо проще сделать это посредством использования особого класса во Flash, который называется mx.transitions.Tween. Подключается он к флешке путём вставки в код нужного кадра на главной временной шкале фильма следующих строк:

import mx.transitions.Tween;

import mx.transitions.easing.*;

Далее всё, что нам нужно - это создать саму функцию Tween. Создаётся она через запись вида new Tween(obj_mc, “_x”, Regular.easeOut, 0, 100, time, true), где:

1. obj_mc - путь к объекту, свойство которого мы будем изменять;
2. “_x” - имя свойства, которое будет изменено. Имя обязательно должно быть записано в кавычках. Можно изменять не только стандартные свойства объектов, но и свойства созданные собственноручно;
3. Regular.easeOut - тип движения. Отвечает за то, с каким ускорением/способом будет изменяться свойство;
4. 0 - начальная точка свойства;
5. 100 - конечная точка свойства;
6. time - переменная отвечающая за длительность изменения. Может указываться, как в секундах, так и в кадрах;
7. true - значение флага, отвечающего за тип длины движения. True - секунды, false - кадры.

Помимо класса Tween, нам прийдется использовать еще и интервалы, через функцию setInterval(), если вы не знаете что это такое, и как с ним работать — не огорчайтесь, в исходнике, который я прилагаю к уроку, достаточно широко описаны способы работы с этой функцией, и некоторые её особенности.

Смотрим

P.S.:
Я не видел, чтобы где-то в сети описывали еще эту проблему, но иногда бывает нужно остановить “движение” раньше времени. Чтобы иметь возможность обращаться к свойствам объекта Tween просто присваиваем Tween переменной:

varTween = new Tween(obj_mc, “_x”, Regular.easeOut, 0, 100, time, true);

После этого мы сможем остановить анимацию через varTween.stop().

Категория: Flash | Просмотров: 928 | Добавил: Web | Теги: FAQ, Вопрос-Ответ, уроки, flash | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]