Hướng dẫn làm hiệu ứng tuyết rơi bằng Action Script 3 trong Flash

Hướng dẫn nhanh sau sẽ giúp bạn làm hiệu ứng tuyết rơi bằng Action Script 3 trong Flash mà không cần phải biết nhiều về Action Script 3.


Bạn làm theo các bước đơn giản sau:

1Tạo file flash với tên bất kì như trong ví dụ này Snow.fla, tạo 1 layer đặt hình background


2 Tạo một layer nằm trên layer background dùng để chứa đoạn code AS 3 sau:


import flash.events.KeyboardEvent;
import Snowflake;

function randRange(low:Number, high:Number):Number {
var randNum:Number = (Math.random() * (high - low)) + low;
return randNum;
}

var snowflakeVect:Vector.<Snowflake> = new Vector.<Snowflake>;

var numberOfSnowflakes:uint = 200;
var toggleAnimation = false;

var showMsg:Boolean = true;

function addSnowflakes():void
{
var flakeXSpeed:Number;
var flakeYSpeed:Number;

for (var loop:uint = 0; loop < numberOfSnowflakes; loop++) {

flakeXSpeed = randRange(-1, 1);
flakeYSpeed = randRange(3, 7);

snowflakeVect.push(new Snowflake(flakeXSpeed, flakeYSpeed));

snowflakeVect[loop].x = Math.random() * stage.stageWidth;
snowflakeVect[loop].y = Math.random() * stage.stageHeight;

snowflakeVect[loop].alpha = randRange(0.3, 1);

var flakeScale:Number = randRange(0.3, 0.9);
snowflakeVect[loop].scaleX = flakeScale;
snowflakeVect[loop].scaleY = flakeScale;

addChild(snowflakeVect[loop]);

}

}

function removeSnowflakes():void
{
for (var loop:uint = 0; loop < numberOfSnowflakes; loop++) {

snowflakeVect[loop].SnowflakeDestructor();

removeChild(snowflakeVect[loop]);

}
while(snowflakeVect.length > 0) {
snowflakeVect.pop();
}

}

addSnowflakes();
toggleAnimation = true;

3 Tạo một file code AS 3 với tên Snowflake.as cho Taget là file Snow.flv chứa đoạn code sau:




package
{
import flash.display.MovieClip;
import flash.events.Event;

public class Snowflake extends MovieClip
{
var ySpeed:Number;
var xSpeed:Number;

function Snowflake(theXSpeed:Number, theYSpeed:Number):void
{
this.addEventListener(Event.ENTER_FRAME, updateSnowflake);

this.xSpeed = theXSpeed;
this.ySpeed = theYSpeed;

}

public function SnowflakeDestructor():void
{
this.removeEventListener(Event.ENTER_FRAME, updateSnowflake);
}

function updateSnowflake(e:Event):void
{
this.x += this.xSpeed;
this.y += this.ySpeed;

if (this.y > (stage.stageHeight + this.height))
{

this.y = 0 - (this.height / 2);

this.xSpeed = (Math.random() * 2) - 1; // Range: -1 to +1
this.ySpeed = (Math.random() * 4) + 3; // Range: +3 to +7

}

}

}

}

Lưu lại và xuất file swf để xem kết quả nhé.

Download file thực tập tại đây

Chúc các bạn thành công!


Xem thêm:
- Hướng dẫn cách convert swf sang HTML5 dễ dàng bằng Adobe Flash CC
- Tổng hợp hiệu ứng pháo hoa Flash download miễn phí ( Kèm file gốc FLA )
- Tổng hợp những hiệu ứng ánh sáng flash để làm banner hoặc intro
- Một số hiệu ứng ánh sáng chói trong Flash để làm banner, intro...
- Tạo bộ đếm giờ (Countdown Timer) bằng Action Script 2 trong Flash
- Chèn nhạc từ bên ngoài vào file flash bằng ActionScript 3
- Load hình hoặc movie từ bên ngoài vào một file Flash với Action Script 2

0 comments:

Post a Comment