今天網誌的首頁 多了一個介紹「達文西密碼」的Flash,在下蠻期待的電影。
不過這是在下從角川書店偷來的,各位好孩子們可千萬別模仿(笑,其實原始網站下方還有一排選單,那主要是控制上方主場景所撥放的動畫用的。基本上這個Flash也是屬於Loadmovie的一種,全部由21個swf檔案所構成。

而本回在下的自己滿足主題,主要是玩達文西密碼那個Flash的倒數計時,非常簡單,而且蠻有趣的,畢竟這種玩意兒可以用在很多的場合增加效果,像世界末日…
靠著Flash內建的getDate()函數讓所想要撥放的動畫隨著日期而改變。

首先,在下先來作個最陽春的Flash時鐘吧,感覺有點像javascript…
在第1圖層第1影格的AS如下:

onEnterFrame = function() //讓下方的腳本不停的執行
{
objDate = new Date(); //objDate是指在下所宣告的日期物件的名稱
new Date()則可以設定年月日或時間(省略的話則以使用者的時間為準)
}

onEnterFrame = function()這段陳述式如果省略的話,其實也沒什麼影響,不過使用者只會看到載入此Flash時的時間而已,而無法看到時間分秒的流逝…
之後再建立一個新的圖層,同樣是在第1影格的地方 建立一個動態的文字,這個元件的變數就是前面的日期物件objDate,如下圖所示:
Image
最後再輸出文件,這樣子就完成了一個Flash時鐘了,真的非常容易吧。
再來就是進入本文章所介紹的Flash裡面所含的「達文西密碼」(笑

objDate = new Date();// 同樣的 先取得使用者目前的時間
today = objDate.getDate(); //宣告變數today等於上述函數中所得到的「日期」

最精采的部份就是這裡啦,開始判定今天的日期,譬如在下發文的時間是15號:

if (today == 15) //如果今天是15號的話,那麼就進行第5天的動畫
{
this.gotoAndPlay(“5day”);
}
else if (today == 16) //同上 明天那個黃色的5就會變4
{
this.gotoAndPlay(“4day”);
}
else if (today == 17) //以下類推 而首播日到底會變成什麼樣子呢(謎
{
this.gotoAndPlay(“3day”);
}

詳細的情況就如下圖,如果要每一天都呈現不同風貌的話,的確比較累人一點。

另外一點要說明的是在下首頁的Flash廣告是屬於單純的按鈕形式,而角川書店則是利用js與Flash連攜而成的,這種方法在下也曾經偷過(汗,只不過在下是直接寫在html裡面,而它是改用一個js檔案來管理。在下荒廢的網站,不妨看一下網頁原始檔,大致上就是那樣子,本回作戰結束。