AloFlash ! Cộng đồng flash Việt Nam



You are here: Tutorials  AS 1.0 - 2.0 Tạo hiệu ứng tuyết rơi trong flash bằng ActionScript

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

Email In PDF.
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

Bình luận (10)Add Comment
0
...
được viết bởi Tuấn Hưng, Tháng mười một 23, 2010
nhanh, gọn thanks
0
...
được viết bởi phan thuy, Tháng một 25, 2011
mình đang tự học flash nên thấy bài viết rất hữu ích, hãy viết nhiều bài hơn nữa nhésmilies/smiley.gif
0
...
được viết bởi đại, Tháng mười một 21, 2011
cái này áp dụng AS 3.0 làm thế nào nhỉ? ai biết share e nha
0
...
được viết bởi gashar, Tháng mười hai 01, 2011
tôi muốn lớp tuyết ở dưới người tuyết thì làm sao bạn
0
...
được viết bởi Hang copy ma, Tháng mười hai 17, 2011
Copy tren cac dien dan roi gan ten cua minh la khong tot
0
...
được viết bởi vu., Tháng một 05, 2012
sao mình làm được mà tuyết rơi có 1 va rất chậm.xi chỉ với
0
...
được viết bởi thu sương, Tháng tám 11, 2012
hjxhjx....! minh làm không được
0
...
được viết bởi thu sương, Tháng tám 11, 2012
có video thì tốt biết mấy
0
...
được viết bởi THAOHINOKAKERA, Tháng mười một 18, 2012
TO LAM NGON RUI CAM ON BAN
0
...
được viết bởi đoàn dự, Tháng hai 17, 2014
muốn đưa tuyết sang một phía thì ta nên làm thế nào hả mấy bạn

Viết bình luận
nhỏ hơn | lớn hơn

busy