本例的主要內容是用AS 2.0語言來製作動態時鐘。
我現在詳細教你如何製作動態時鐘。
工具/原料
電腦
Fl軟體
方法/步驟
點選開始選單程式資料夾裡的FL軟體,即開啟FL軟體,如下圖所示。
按下ctrl+N組合鍵或執行選單欄中的"檔案>新建"命令開啟【新建文件】對話方塊,在【常規】選項卡下選擇ActionScript 2.0,單擊"確定"按鈕,即建立一個文件,如下圖所示。
單擊工具箱中的"文字工具”按鈕,如下圖所示。
開啟屬性面板,設定文字型別為動態文字,取消勾選"自動調整字距",單擊【嵌入】按鈕,開啟【字型嵌入】對話方塊,點選【選項】選項卡,勾選"數字【0..9】(11/11字型)",單擊【確定】按鈕,如下圖所示。否則,無法讓時鐘動起來。
點選舞臺,出現文字框,調整其大小,若沒有調整,就會影響時鐘的外觀,如下圖所示。
再開啟屬性面板,輸入該文字的變數為"a",如下圖所示。
右擊"圖層1"圖層的第1幀,在彈出的快捷選單中選擇"動作"選項,如下圖所示。
選擇該文字框,按住F9鍵開啟【動作】程式碼框中輸入"date=new Date(); myhour=date.getHours(); myminutes=date.getMinutes(); myseconds=date.getSeconds(); if(length(myhour)<2) myhour="0"+myhour; if(length(myminutes)<2) myminutes="0"+myminutes; if(length(myseconds)<2) myseconds="0"+myseconds; a=myhour+" "+myminutes+" "+myseconds;",如下圖所示。
【基本語法】
new Date:獲取Date類物件。
getHours():獲得小時,返回值是0-23。
getMinutes():獲得分鐘,返回值是0-59。
getSeconds():獲得秒鐘,返回值是0-59。
length(str):返回字串str的個數。
【問題1】
date=new Date();
myhour=date.getHours();
myminutes=date.getMinutes();
myseconds=date.getSeconds();
解析:Date類是一個重要的核心,裡面有時間和日期等函式。建立一個 Date型別的變數名 date ,getHours()和getMinutes()、getSeconds()受變數名 date的控制,如此能讓時鐘與本機時間同步起來,若不需要受變數名 date的控制,像失去生命一樣,就無法執行。
【問題2】
if(length(myhour)<2)
myhour="0"+myhour;
if(length(myminutes)<2)
myminutes="0"+myminutes;
if(length(myseconds)<2)
myseconds="0"+myseconds;
解析:判斷myhour和myminutes、myseconds的個數是否小於2。如果其返回值是0-9,用length來計算出其個數是1個,那麼可以判斷出來是小於2的,因此,其前面要加上"0"。否則,其前面不用加上"0"。
一按住Alt+Enter組合鍵開啟影片,就發現時鐘為什麼沒動起來,如下圖所示。
上面的問題不再是件難事。先右擊"圖層1"圖層的第2幀,在彈出的快捷選單中選擇"插入關鍵幀"選項,再新增動作程式碼,輸入程式碼為"gotoAndPlay(1);",只要該程式碼,就能讓時鐘不斷更換,如下圖所示。
gotoAndPlay:跳轉到某幀播放。
gotoAndPlay([場景,]幀)中括號表示可選
【舉例】
gotoAndPlay(2,1)
作用:跳到場景2的第一幀。
gotoAndPlay(2)
作用:跳到當前場景的第二幀。
按住Alt+Enter組合鍵開啟影片後,時鐘終於動起來了,如下圖所示。