HướngdẫndùngFlashđểlấythôngtinngàytháng (Thứ Hai, 22/03/2010-10:45 AM)
Bài viết này sẽ hướngdẫn cách lấythôngtinngàytháng trong Flash
và hiện ra ngày giờ trong Flash 1 cách đơn giản
Ngôn ngữ sử dụng: ActionScript 2.
Hình 01
Note: Để làm theo được bài hướngdẫn này, thầy cô cần có chương trình Flash 8 (hoặc
Flash 9, 10) đã cài đặt trong máy, và biết được ít nhất là vị trí của các bảng công cụ,
bảng thuộc tính, trong chương trình Flash. Các bài hướngdẫn cài đặt và giới thiệu về
các khái niệm cơ bản sẽ được biên soạn và đưa lên trong thời gian gần đây nhất có thể.
Đây là bài viết theo yêu cầu từ thầy Lê Văn Bình (người đầu tiên đưa yêu cầu lên trang
web) nên tôi ưu tiên đưa lên trước.
I. Lý thuyết: Giới thiệu về lớp Date trong Flash
Để lấy được ngàytháng trong Flash cần phải sử dụng ActionScript (AS). Cách đơn giản
nhất là lấythôngtin từ lớp Date mà Flash đã cung cấp sẵn.
1. Đầu tiên cần khai báo một đối tượng thuộc lớp Date:
var date:Date = new Date();
2. Sau khi khai báo như trên, biến date sẽ có trong mình các thôngtin về thời gian của
máy mà ta cần lấy.
Chú ý: Cách này sẽ lấy thời gian của máy tính hiện đang chạy file flash, nên nếu thời
gian trên máy tính đó bị thiết lập sai thì thời gian lấy được cũng bị sai.
+ Để biết hôm nay là ngày bao nhiêu:
var ngay = date.getDate();
+ Để biết tháng này là tháng nào:
var thang = date.getMonth() + 1;
(Vì hàm date.getMonth() trả về số thứ tự của tháng trong năm, bắt đầu từ 0 tới 11 nên
ta cần cộng thêm 1 đểlấy được tháng thật)
+ Để biết năm nay là năm nào:
var nam = date.getFullYear() ;
+ Để biết hôm nay là thứ mấy:
var thu = date.getDay();
(Hàm date.getDay() trả về số thứ tự của ngày trong tuần, tương ứng sẽ là: 0: Chủ
nhật, 1: Thứ hai, 2: Thứ ba, , 6: Thứ bảy)
Vì ta cần hiển thị ra thứ dưới dạng chữ (Thứ hai, Thứ ba, ) chứ không phải là các con số
nên có thể dùng 1 cách khá nhanh gọn đó là khai báo 1 mảng (Array) chứa tên của các
thứ trong tuần:
var ten_thu = ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ
sáu", "Thứ bảy"];
Sau đó dựa vào số thứ tự do hàm date.getDay() trả về, ta dễ dàng lấy được tên của thứ
trong tuần:
var thu = ten_thu[date.getDay()];
Ví dụ:
với date.getDay() = 0, ta có: thu = ten_thu[0] = "Chủ nhật"
với date.getDay() = 4, ta có: thu = ten_thu[4] = "Thứ năm"
+ Để biết giờ hiện tại:
var gio = date.getHours();
+ Để biết phút hiện tại:
var phut = date.getMinutes();
+ Để biết giây hiện tại:
var giay = date.getSeconds();
II. Thực hành
B1. Mở chương trình Flash 8, tạo 1 file mới (chú ý nếu chương trình sử dụng là Flash
CS3 hoặc Flash CS4 (Flash 9 hoặc Flash 10) thì cần phải chọn kiểu file là Flash
ActionScript 2)
Hình 02
Hình 03
B2. Bấm vào công cụ có tên Text Tool trên thanh công cụ và bấm vào stage để tạo ra 1 ô
text (có thể gõ mẫu vài chữ số vào ô text đó đểdễ sắp xếp sau này), chọn kiểu cho ô text
đó là Dynamic Text, sau đó đặt Instance name cho ô text đó là gio_txt. Đây là ô sẽ hiện
giá trị của giờ hiện tại:
Hình 04
B3. Làm tương tự bước 2 để tạo thêm 2 Dynamic Text nữa với Instance name lần lượt
là phut_txt và giay_txt. Hai ô này là để hiện phút và giây hiện tại.
Hình 05
B4. Tạo thêm 2 ô text, mỗi ô viết một dấu hai chấm ":", và chèn các dấu hai chấm vào
giữa các ô text như hình vẽ
Hình 06
B5. Tiếp tục làm giống bước 2 để tạo 1 Dynamic Text với Instance name được đặt là
ngay_txt. Ô này sẽ hiện thôngtin về ngàytháng hiện tại.
Hình 07
B6. Bấm vào frame 1 trên timeline và bấm F9 để hiện ra cửa sổ soạn thảo ActionScript.
Nhập vào đoạn code sau đây:
var ten_thu:Array = ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm",
"Thứ sáu", "Thứ bảy"];
this.onEnterFrame = function():Void {
var date:Date = new Date();
var thu = ten_thu[date.getDay()];
var ngay = date.getDate();
var thang = date.getMonth() + 1;
var nam = date.getFullYear();
ngay_txt.text = thu + ", " + ngay + "/" + thang + "/" + nam;
var gio = date.getHours();
var phut = date.getMinutes();
var giay = date.getSeconds();
if (gio < 10) gio = "0" + gio; // nếu giờ hiện tại <10 thì thêm số 0 vào đầu
if (phut < 10) phut = "0" + phut; // nếu phút hiện tại <10 thì thêm số 0 vào đầu
if (giay < 10) giay = "0" + giay; // nếu giây hiện tại <10 thì thêm số 0 vào đầu
gio_txt.text = gio;
phut_txt.text = phut;
giay_txt.text = giay;
}
Hình 08
B7. Nhấn Ctrl + S để lưu lại file vừa tạo và Nhấn Ctrl + Enter để test thử chương trình.
Với đoạn code và cách làm như trên, chương trình sẽ hiện ra kết quả như thế này:
B8. Bước này tùy vào ý thích mà các thầy cô có thể trang trí thêm và sửa đổi đoạn mã để
tạo ra các file Flash đẹp như ý. Một vài kết quả ví dụ:
. Hướng dẫn dùng Flash để lấy thông tin ngày tháng (Thứ Hai, 22/03/2010-10:45 AM)
Bài viết này sẽ hướng dẫn cách lấy thông tin ngày tháng trong Flash. Date trong Flash
Để lấy được ngày tháng trong Flash cần phải sử dụng ActionScript (AS). Cách đơn giản
nhất là lấy thông tin từ lớp Date mà Flash đã cung