Мышиный шлейф из звёздочек во FLASH


Сегодня новый урок для тех, кто изучает Flash. Flash и ActionScript 3 урок продемонстрирует как создать красивый шлейф за указателем мышииз звёздочек. Посмотрине на результат этого урока. Эго легко можно изменить и адаптировать под Ваши нужды.

Примечание: Для этого урока понадобиться библиотека TweenMax.

Как это выглядит

[swf]http://mainview.ru/wp-content/uploads/flash/Flash-mouse-trailer.swf,600,300[/swf]

Создание среды

1. Создаём новый Flash документ с размерами 300×300.

2. Используем инструмент PolyStar и рисуем звезду, не используя обводку. Используем следующие настройки (цвет заливки не важен).

3. Сделаем размер звезды 10×10.

4. Конвертируем звезду в мувик (movie clip). Назовём “My Star” и отцентрируем. Свяжем мувик с классом“MyStar”.

5. Установим имя мувика как “myStar”.

Создание кода ActionScript

6. В панеле actions, набираем следующий код ActionScript.

//Import TweenMax
import gs.*;

//Hide the mouse
Mouse.hide();

//The starting color
var currentColor:uint = 0xffffff;

//This timer calls the changeColor() function every 0.5 seconds
var colorTimer:Timer = new Timer(500, 0);
colorTimer.addEventListener(TimerEvent.TIMER, changeColor);
colorTimer.start();

//This timer calls the createStar() method every 0.01 seconds
var trailTimer:Timer = new Timer(10, 0);
trailTimer.addEventListener(TimerEvent.TIMER, createStar);
trailTimer.start();

//Add an ENTER_FRAME listener so we can move the myStar
addEventListener(Event.ENTER_FRAME, moveStar);

//This function is called in each frame
function moveStar(e:Event):void {

	//Set the myStar coordinates to match with the mouse coordinates
	myStar.x = mouseX;
	myStar.y = mouseY;
}

//This function is called by the colorTimer
function changeColor(e:Event):void {

	//Assign a new random color
	currentColor = Math.random() * 0xffffff;

	//Tween the myStar to the currentColor
	TweenMax.to(myStar, 0.2, {tint: currentColor});

}

//This function is called by the trailTimer
function createStar(e:Event):void {

	//Create a new star
	var newStar:MyStar = new MyStar();

	//Set the newStar coordinates to match with the myStar coordinates
	newStar.x = myStar.x;
	newStar.y = myStar.y;

	//Calculate random target x and y coordinates
	var targetX:Number = newStar.x + Math.random() * 64 - 32;
	var targetY:Number = newStar.y + Math.random() * 64 - 32;

	//Calculate a random rotation
	var targetRotation = Math.random() * 360 - 180;

	//Add the newStar to the stage
	addChild(newStar);

	/*
	Now we tween different properties of the newStar mc using TweenMax.
	I call the "TweenMax.to()" multiple times so it's easier to read this code.
	All of this could also be accomplished with one line.
	Note that we call the function removeStar() when the tweens are finished.
	*/
	TweenMax.to(newStar, 3, {alpha: 0, scaleX: 5, scaleY: 5, tint: currentColor});
	TweenMax.to(newStar, 3, {rotation: targetRotation, x: targetX, y: targetY});
	TweenMax.to(newStar, 3, {blurFilter:{blurX:3, blurY:3}, onComplete: removeStar, onCompleteParams: [newStar]});
	}

//This function is called when a star's tween is finished
function removeStar(star:MyStar):void {

	//Remove the star from the stage
	removeChild(star);
}

7. На этом всё, тестируем наш flash! Надеюсь этот урок окажеться полезным!

Скачать исходник

Реклама
Поделиться
Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!

2 комментария

  1. Вася25/01/2015
  2. dacascas09/04/2010

Добавить коментарий

20 − четырнадцать =