вход

Мышиный шлейф из звёздочек во 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! Надеюсь этот урок окажеться полезным! Скачать исходник

Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
2 комментария

Статья → Мышиный шлейф из звёздочек во FLASH

  1. dacascas:

    Красиво, но комп устаёт… Если машина послабее у кого, то вообще повиснуть может

  2. Вася:

    Не работает твой исходник

Оставить комментарий

Статья → Мышиный шлейф из звёздочек во FLASH

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.

 

Нажимая на кнопку, я даю согласие на рассылку, обработку персональных данных и принимаю политику конфиденциальности.