Следы для объектов во флеш




Главная > Уроки > Action script 3.0 > Следы для объектов во флеш

Следы для объектов во флеш

Автор/переводчик статьи: Команда сайта flashmaster.org.ua

Дата: 2012-08-08

Следы от объектов

В этом уроке мы научимся создавать следы от объектов. 

Для содержимого этой страницы требуется более новая версия Adobe Flash Player.

Получить проигрыватель Adobe Flash Player

 


1. Создаем новый документ As 3.0
2. Рисуем круг 30х30 (цвет по вкусу, у меня оранжевый).
3. Пере конвертируйте круг в MovieClip (Имя myball, точка регистрации по центру) .
4. Дайте instance name “ball”.
5. В поле Class введите “Ball”.
6. Оставьте символ в центре на сцене.
Код: .

//Устанавливаем начальный угол.
var angle:Number = 0;
//Устанавливаем скорость вращения
var speed:Number = 0.2;
//Устанавливаем радиус круга
var radius:Number = 50;
/*. Мы хотим, что бы круг вращался вокруг центра сцены. Мы определим координаты центра сейчас, что бы не высчитывать их каждый кадр */
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
//Добавляем ENTER_FRAME символу,что бы анимировать его
ball.addEventListener (Event.ENTER_FRAME, moveBall);

//Используем таймер, что бы добавлять новый след каждую 0.1 секунду
var timer:Timer = new Timer(100,400000);
timer.addEventListener (TimerEvent.TIMER, createTrailBall);
timer.start ();.

//Эта функция отвечает за движение круга
function moveBall (e:Event):void {

//Высчитываем новые Х и У координаты.
var xpos:Number = centerX + Math.cos(angle) * radius;
var ypos:Number = centerY + Math.sin(angle) * radius;
//Передвигаем окружность на новые координаты
ball.x = xpos;
ball.y = ypos;
//Увеличиваем угол
angle += speed;
}
function createTrailBall (e:Event):void {

//Создаем новый мяч
var trailBall:Ball=new Ball();

//Устанавливаем позицию для следа в то место, где
находится круг.
trailBall.x = ball.x;
trailBall.y = ball.y;
//Добавляем ENTER_FRAME для анимации хвоста
trailBall.addEventListener
(Event.ENTER_FRAME,animateTrailBall);
/* Добавляем круг хвоста на сцену Мы не хотим, что бы след находился над окружностью, поэтому используем метод addChildAt . */
addChildAt (trailBall,0);
}
function animateTrailBall (e:Event):void {
//В каждом кадре увеличиваем прозрачность и уменьшаем размеры.
e.target.alpha -= 0.04;
e.target.scaleY -= 0.04;
e.target.scaleX -= 0.04;

/* Если шарик полностью прозрачный, удаляем его со сцены. */
if (e.target.alpha < 0) {
e.target.removeEventListener
(Event.ENTER_FRAME,animateTrailBall);
removeChild ((MovieClip)(e.target));
}
}

Все готово, осталось только протестировать что у нас вышло.
Исходник: Скачать

рекомендую сервис для блоггеров

Просмотров: 2557


Понравился материал? Поделись с друзьями!





Подписаться на рассылку.

При перепечатки материалов ссылка на наш сайт обязательна!


 1