Adobe Flash – Hướng Dẫn Tạo Đồng Hồ SốTrong bài viết này, mình sẽ giới thiệu cách tạo một đồng hồ số bằng Flash thông qua các ActionScript, và làm thế nào để hiển thị các ngày trong tuần
Trang 1Adobe Flash – Hướng Dẫn Tạo Đồng Hồ Số
Trong bài viết này, mình sẽ giới thiệu cách tạo một đồng hồ số bằng Flash thông qua các ActionScript, và làm thế nào để hiển thị các ngày trong tuần và các ngày của tháng Bạn có thể đặt đồng hồ này vào bất kỳ một website nào…
Tạo Đồng Hồ Flash:
Bước 1: Đầu tiên, mở một tài liệu flash mới.
Bước 2: Nhấn vào Text tool (T), tạo 3 đối tượng Text có nội dung là “Time”, “Today” và
“Date”
Chú ý, đây là các Static Text nhé.
Hình ảnh này đã bị thu nhỏ Nhấp vào hình để xem kính
thước thật
Trang 2Bước 3: Bây giờ, chúng ta chúng ta tạo tương ứng 3 Dynamic Text với các Static Text chúng
ta vừa tạo ở bước 2, và đặt nó bên cạnh những Static Text đó
Bước 4: Sau khi tạo xong các Dynamic Text, chúng ta đặt tên cho chúng theo cách mà bạn đã làm ở trên Bạn chọn Hộp Dynamic đầu tiên bên cạnh chứ “Time”, sau đó chuyển đến cửa
sổ Properties (Ctrl + F3) và đặt tên là “nTime”.
Hình ảnh này đã bị thu nhỏ Nhấp vào hình để xem kính
thước thật
Trang 3Bước 5: Ta làm tương tự với các hộp Dynamic còn lại Hộp Dynamic bên cạnh ”Today” đặt
tên là “displayDay” và bên cạnh “Date” có tên là “displayDate” Hãy nhớ là đặt tên cho các Dynamic Text chứ không phải là Static Text
Bước 6: Tiếp theo, nhấn vào hộp Static đầu tiên và chuyến đổi nó thành biểu tượng bằng cách Chọn nó và nhấn F8, đảm bảo ô “Movie clip” được check và đặt tên tùy theo ý bạn
muốn
Hình ảnh này đã bị thu nhỏ Nhấp vào hình để xem kính
thước thật
Bước 7: Bây giờ các bạn hãy chọn 2 hộp Dynamic còn lại và chuyển nó thành 1 biểu tượng
Trang 4Hãy chắc chắn rằng tạo cả 2 hộp đó thành 1 biểu tượng và đặt tên tùy ý bạn chọn.
Hình ảnh này đã bị thu nhỏ Nhấp vào hình để xem kính
thước thật
Bước 8: Bây giờ các bạn hãy chọn biểu tượng trên cùng và nhấn F9 để mở cửa sổ
ActionScript Và dán đoạn mã sau vào:
onClipEvent (enterFrame) {
myTime = new Date();
nSeconds = myTime.getSeconds();
nMinutes = myTime.getMinutes();
nHours = myTime.getHours();
if (nHours>=12) {
ampm = “pm”;
} else {
ampm = “am”;
}
if (nHours>=13) {
nHours = nHours-12;
}
if (length(nMinutes) == 1) {
nMinutes = “0″+nMinutes;
}
if (length(nSeconds) == 1) {
nSeconds = “0″+nSeconds;
}
nTime = nHours+”:”+nMinutes+”:”+nSeconds+” “+ampm;
}
Bước 9: Tiếp theo, chúng ta chọn các biểu tượng khác là “today” và “date” và mở lại của sổ
ActionScript (F9), dán đoạn mã sau vào:
onClipEvent (load) {
Trang 5mon = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"]; weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday",
"Saturday"];
}
onClipEvent (enterFrame) {
now = new Date();
nDay = weekdays[now.getDay()];
nMonth = mon[now.getMonth()];
nDate = now.getDate();
nYear = now.getFullYear();
displayDate = nMonth+” “+nDate+”, “+nYear;
displayDay = nDay;
}
OK Nếu Bạn nhấn tổ hợp phím (Ctrl + Enter), bạn sẽ nhìn thấy đoạn Movie clip của bạn hoạt động, nó sẽ hiển thị thời gian, ngày hôm nay cũng như ngày của tháng (Nếu ko có gì sai xót xảy ra…) Sau đây, mình sẽ giải thích về một số đoạn code
Giải Thích Code
A/ TIME CODE:
onClipEvent (enterFrame) {
Phần này của đoạn code lặp lại các hành động chứa bên trong nó mỗi khi Movie Clip được truy cập
myTime = new Date();
Đoạn mã trên tạo một đối tượng Date mà sẽ được sử dụng để nhận thông tin từ hệ thống nSeconds = myTime.getSeconds();
nMinutes = myTime.getMinutes();
nHours = myTime.getHours();
Đoạn này định nghĩa các biến giây, phút, giờ và nhận thông tin từ hệ thống và cùng hoạt động trong file Flash
if (hours>=12) {
ampm = “pm”;
} else {
ampm = “am”;
}
Câu lệnh IF kiểm tra xem giờ có lớn hơn hay bằng 12 hay không và chuyển về dạng am hoặc pm
if (hours>=13) {
nHours = nHours-12;
}
Trang 6Bởi vì Flash hiển thị thời gian trong hệ thống giờ 24 thay vì hệ thống giờ 12, câu lệnh IF bên trên được sử dụng chuyển về hệ thống giờ 12 nếu giờ lớn hơn hoặc bằng với 13 ( 13 – 12 = 1)
if (length(nMinutes) == 1) {
nHinutes = “0″+nMinutes;
}
if (length(nSeconds) == 1) {
nSeconds = “0″+nSeconds;
}
Cả 2 câu lệnh IF trên đều dùng để chèn thêm số “0″ ở đằng trước giây và phút nếu độ dài của chúng bằng 1, có nghĩa là các biến phải nhỏ hơn 10
nTime = nHours+”:”+nMinutes+”:”+nSeconds+” “+ampm;
}
Dòng lệnh trên hiển thị thời gian sử dụng Hộp Dynamic được đặt tên là “nTime” mà đã tạo ở bên trên
B/ DATE CODE:
onClipEvent (load){
Dòng Lệnh thực hiện các hành động chứa trong ngoặc đơn chỉ khi Movie Clip được load Điều này cũng thường xuyên được sử dụng để định nghĩa các biến
mon = ["Jan","Feb","Mar","Apr","May","Jun","Jul",
"Aug","Oct","Nov","Dec"];
weekdays = ["Sunday","Monday","Tuesday",
"Wednesday","Thursday","Friday","Saturday"];
bên Trên là 2 mảng mà được sử dụng để lưu trữ các ngày trong tuần và các tháng trong năm
Vị trí đầu tiên của mảng bắt đầu từ số 0, tương đương với giá trị Jan – Tháng 1 trong mảng
“mon” và Sunday – Chủ Nhật trong mảng “weekdays” Thứ tự này bạn có thể thay đổi tùy ý bạn sắp xếp
now = new Date()
}
Dòng lệnh này để thực hiện việc tạo ra một đối tượng Date mà sẽ được sử dụng để nhận thông tin về thời gian
onClipEvent (enterFrame){
Dòng lệnh này lặp lại các hoạt cảnh và thực hiện các hành động mỗi khi Movie được truy cập
nDay = weekdays[now.getDay()]
nMonth = mon[now.getMonth()]
nDate = now.getDate()
Trang 7nYear = now.getFullYear()
Các dòng lệnh trên đều được sử dụng để lưu trữ thông tin Các mảng được chứa bên trong ngoặc vuông “[]“
displayDate = nMonth+” “+nDate+”, “+nYear
displayDay = nDay
}
Đoạn mã cuối cùng được sử dụng để hiển thị thông tin bên trong các trường Dynamic mà đã được tạo từ ban đầu Có rất nhiều cách để sử dụng các hiệu ứng này cũng như các cách viết code để hiển thị các hiệu ứng đó Đây chỉ là một cách mà tôi cảm thấy phù hợp nhất và dễ nhất
Chúc các bạn thành công.
Theo Kythuatvien.com