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

by 1:47:00 PM 0 nhận xét
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

Thảo luận

0 nhận xét:

Post a Comment