След от MovieClip'а

Content on this page requires a newer version of Adobe Flash Player.

Информация
Автор/переводчик: 
TeT
Описание: 

1. Создаем новый документ .
2. Рисуем круг 30х30 (цвет можно выбрать любой).
3.Переконвертируйте круг в MovieClip (Имя неважно, точка регистрации по центру) .
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));
	}
}
Исходник: