SỦI BỌT

TOán học, giáo dục, xã luận, …, Tổ Quốc ơi

Macromedia Flash – Tạo đồng hồ kim trong Flash

Posted by mrLe on 16/03/2011


Bài này sẽ hướng dẫn bạn cách tạo một chiếc đồng hồ hoạt động thực bằng cách sử dụng các hiệu ứng của Flash.

http://www.quantrimang.com.vn/photos/Flash/Flash2009/03/clock.swf

1. Tạo một hình đòng hồ theo ý thích của bạn. Có thể vẽ nó trên Photoshop sau đó import nó vào flash hoặc vẽ trực tiếp trên flash. Bạn có thể lấy hình đồng hồ sau:

2. Tạo 5 layer trên phần Timeline, tên của chúng lần lượt tương ứng là: sec (giây), min (phút), hour (giờ) và actions. Bạn có thể xem hình dưới đây là Timeline mẫu.

3. Chèn vào thiết kế đồng hồ nền mà bạn đã tạo sẵn
4. Vẽ một đường kẻ dọc trong layer sec. Chọn dòng kẻ đó và nhấn F8 để chuyển nó sang dạng Symbol. Đặt tên cho Symbol này là sec_mc, chọn Movie clip và chọn ô vuông giữa dưới cùng trong phần Registration.
5. Nhấn OK
6. Trong layer sec, đặt sec_mc vào vị trí tương ứng so với ảnh nền đồng hồ bạn đã thiết kế. Đặt tên của layer sec trong phần Instance của cửa sổ thuộc tính Properties là “sec”. 
7. Kéo sec_mc từ cửa sổ Library vào layer min. Nếu cửa sổ Library không mở, nhấn Ctrl + L. Giảm bớt chiều dài của sec_mc trong phần này đi (để tương ứng với kim phút). Đặt nó vào vị trí tương ứng với ảnh nền đồng hồ. Đặt tên layer này là “min” trong phần Instance của cửa sổ thuộc tính. 
8. Tiếp tục kéo sec_mc vào layer hour từ cửa sổ Library đã mở. Lại giảm chiều dài của kim đi cho tương ứng với kim giờ. Đặt nó vào vị trí tương ứng so với ảnh nền đồng hồ. Đặt tên nó là “hour” trong ô Instance. 
9. Chọn layer actions, vào phần Action Script (F9) và đưa vào đoạn mã sau:

time=new Date(); // time object
seconds = time.getSeconds()
minutes = time.getMinutes()
hours = time.getHours()

hours = hours + (minutes/60);

seconds = seconds*6; // calculating seconds
minutes = minutes*6; // calculating minutes
hours = hours*30; // calculating hours

sec._rotation=seconds; // giving rotation property
min._rotation=minutes; // giving rotation property
hour._rotation=hours; // giving rotation property

10. Vào frame thứ 2 của từng layer và nhấn phím F5
Kết quả đồng hồ của bạn có chạy không, hãy thử nhấn Ctrl + Enter xem sao. Ngoài ra bạn có thể tự chế các kim sao cho phù hợp không nhất thiết là phải lấy kim từ sec_mc. 
Download file nguồn tại đây.

Nguồn: quantrimang.com

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: