Bài viết này sẽ hướng dẫn cách lấy thông tin ngày tháng trong Flash và hiện ra ngày giờ trong Flash 1 cách đơn giản
I. Lý thuyết: Giới thiệu về lớp 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 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ông tin 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 nao:
+Để biết hôm nay là thứ mấy:var nam = date.getFullYear() ;
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()];
vd:
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)
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
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.
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ẽ
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ông tin về ngày tháng hiện tại.
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 (hầu hết các phần của đoạn code này đã được giải thích ở phần Lý thuyết rồi, nếu có gì thắc mắc thầy cô có thể hỏi lại):
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;
}
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ụ:
Link của 3 ví dụ trên:
http://tulieu.violet.vn/document/show/entry_id/1870924
1 nhận xét:
Làm ngày tháng trong Flash
Mở 1 file mới. Tạo 1 Symbol mới lấy tên là Time. Ở Symbol này bạn dùng công cụ Text tool vẻ 1 hình chữ nhật. Sau đó mở properties, tại trường Var bạn đặt tên cho nó là Ngay, giống hình
Sau đó trở về màng hình chính và kéo thả Symbol time vào màng hình. Nhấn F9 và copy đoạn Action này vào.
onClipEvent(load) {
timedate = new Date();
}
onClipEvent (enterFrame) {
todaydate = timedate.getDate();
day = timedate.getDay();
dayname = days[day];
month = (timedate.getMonth()+1);
monthname = months[month-1];
year = timedate.getFullYear();
Ngay = todaydate + "/" + month + "/" + year;
}
Sau đó nhấn Ctrl + Enter thử xem thế nào nhé.
Đăng nhận xét