Tạo hiệu ứng tuyết rơi trong flash bằng ActionScript

In
Xem kết quả: / 48
Bình thườngTuyệt vời 

Thông qua bài hướng dẫn này, bạn sẽ tạo được hiệu ứng tuyết rơi một cách đơn giản và nhanh chóng. Bạn có thể sử dụng hiệu ứng này vào các header, banner dịp lễ hay vào thiệp mừng giáng sinh...

Nguyên vật liệu cho bài tập này là 1 tấm ảnh nền giáng sinh thật đẹp ( tùy theo kích thước file flash của bạn mà bạn chọn kích thước ảnh nền cho phù hợp nhé) Mình chọn tấm ảnh có kích thước là 450x320.

Bước 1: 

Tạo một file flash mới Ctrl + N, đây là loại AS 2.0 nhé. Nhấn Ctrl + J (Document Properties) và thiết lập kích thước cho file flash cần tạo (kích thước này nên trùng với ảnh nền bạn đã có). Chọn màu nền là một màu tối, thiết lập tốc độ Frame rate là 25 sau đó nhấn OK. 

Bước 2:

Import bức ảnh nền vào flash. File > Import > Import to Stage... 

Căn cho bức ảnh vừa với khung hiển thị của flash bằng cách mở bảng Align: Windows > Align (Ctrl + K) như hình sau:

Sau đó bạn khóa layer này lại nhé để tránh đụng chạm.

Bước 3:

Tạo 1 layer mới. Chọn công cụ Oval Tool (O). Trong phần Colors của Tool Panel, khóa màu Stroke lại và để nó dạng trong suốt. Thiết lập màu Fill color là màu trắng và vẽ hình như sau:

Bước 4: 

Trong khi vẫn chọn hình vừa vẽ, nhấn phím F8 (Convert to Symbol) để chuyển hình tròn vừa vẽ sang dạng Movie Clip Symbol.

Bước 5: 

Trong khi vẫn chọn Movie Clip vừa tạo, vào phần Properties Panel phía dưới cửa sổ làm việc. Trong phần bên trái, tại phần Instance name nhập tên của Movie Clip là snow.

Bước 6: 

Chọn công cụ Selection Tool (V) và kích một lần lên Movie Clip (hình tròn) để chọn nó. Vào phần Action Script Panel (F9) và nhập vào đoạn mã sau:

onClipEvent (load) { 
movieWidth = 450; 
movieHeight = 263; 

i = 1+Math.random()*2; 
k = -Math.PI+Math.random()*Math.PI; 

this._xscale = this._yscale=50+Math.random()*100; 
this._alpha = 75+Math.random()*100; 
this._x = -10+Math.random()*movieWidth; 
this._y = -10+Math.random()*movieHeight; 

onClipEvent (enterFrame) { 
rad += (k/180)*Math.PI; 
this._x -= Math.cos(rad); 
this._y += i; 
if (this._y>=movieHeight) { 
this._y = -5; 

if ((this._x>=movieWidth) || (this._x<=0)) { 
this._x = -10+Math.random()*movieWidth; 
this._y = -5; 

}

Bước 7: 

Tạo 1 layer mới, Chọn frame đầu tiên, vào lại phần Action Script Panel (F9) và nhập vào mã sau:

for (k=0; k<50; k++) { 
duplicateMovieClip(this.snow, "snow"+k, k); 
}

Giờ thì hãy kiểm tra lại sản phẩm bạn đã tạo bằng cách nhấn Ctrl + Enter xem sao nhé.

Các bạn có thể tham khảo thêm các bài làm tuyết rơi khác ở link dưới:

http://aloflash.com/thuc-hanh-flash/hieu-ung/536-flash-tuyet-roi-di-chuyen-theo-con-chuot-as2.html

http://aloflash.com/thuc-hanh-flash/hieu-ung/504-hieu-ung-tuyet-roi-trong-flash.html

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

aloflash.com

Download

Share