朋友,想測驗一下你的記憶力嗎?不用去找那些枯燥的試題來煩自己,我們可以用Flash MX來製作一個有趣的記憶力測驗小遊戲,既可娛樂自己,又可考察自己的記憶力。
此記憶遊戲如圖所示,遊戲界面雖然簡單,但要玩好卻不容易,除非你有較好的記憶力。它的玩法大家可能都比較熟悉,遊戲中共有12個相同的圓盤,每個圓盤下面都隱藏著一幅圖案,12幅圖案兩兩相同共6對,而遊戲的目的就是以最快的速度打開圓盤找完相同的圖案。此遊戲的設計思路是,當滑鼠連續點擊打開矩陣中的兩個圓盤後,對前後顯現的圖案進行判斷,如果圖案相同就從矩陣中去除這兩個圖案及上面的圓盤,如果不同則用圓盤將圖案重新覆蓋,而這就考驗了大家對各個圖案位置的記憶力,只找準所有的6對圖案後,遊戲才算勝利。其圖案顯示和覆蓋的效果製作起來很簡單,使用Motion過渡動畫就行了,而圖案相同與否的判斷是借助Action來進行的。
Flash記憶遊戲(9s51.tif)
下面我們就來學習如何製作這個遊戲,具體步驟如下(編者注:為了方便Flash初學者,此Flash遊戲及其源文件可在http://www.pcdigest.com/download下載,大家可以直接通過修改.fla文件來快速打造具有自己風格的記憶遊戲)。
1.我們先要準備6種不同的圖案,它們可以任意尋找,不過最好用一些顏色和形狀相似的圖案,這樣玩起來才有迷惑性,才能提高玩家的分辨難度,增強遊戲趣味。在這裡我們準備了如圖所示的6種不同的圖案,將它們導入Flash中,分別存為六個圖形符號(Graphic)。
6種不同的圖案(9s52.tif)
2.我們還要準備一個遊戲中覆蓋圖案的圓盤圖片,這個可以自己畫,不過它的大小要稍大於上一步中我們所選用的圖案,以便能將它們完全覆蓋。把這張圓盤的圖片導入Flash,將它存為按鈕符號(Button)。
圓盤圖(9s53.tif) 3.在遊戲中,由於要顯示每找出一對圓盤後所剩餘的圖案對數量,所以還需製作6個數字。如圖,分別製作從1到6的圖形符號(Graphic)。
6個不同的數字圖(9s54.tif)
4.下面我們就要製作遊戲中圓盤和圖案的動畫效果了,這些動畫主要對應玩家的各種滑鼠操作,如選中、點擊等。其中六對圖案的動畫效果製作方法是相同的,所以我們在此僅講其中一對的製作。
首先,在Flash中新建一個movie clip符號,命名為balls1。在符號的編輯狀態下新建兩個圖層,在第一個圖層的第7幀到第11幀建立圓盤由有到無的motion動畫效果,在第21幀到第25幀建立圓盤由無到有的Motion動畫效果。在第二個圖層中的第7幀到第12幀建立一個圖案由無到有的動畫效果,從第13幀到第20幀建立一個圖案的放大效果,從第20幀到第25幀建立一個圖案由有到無的motion效果。
動畫效果的時間線 (9s56.tif)
使用相同的方法再建兩個新圖層,照上述步驟製作出完全相同的motion效果,不過圓盤和圖案的位置要與上面的不同(位置大家自定義),最好在4×3的矩形範圍內。
4×3的矩形範圍(9s55.tif)
然後,我們要給動畫添加Action。
新建一個圖層,命名為timeline,此遊戲所有的Action都集中在此圖層,方便編輯和修改。
在第1幀添加as為gotoAndStop(5);
//跳到第5幀,後面我們要在第5幀添加“stop();”,使遊戲一開始處於停止狀態。
在第2幀添加as為gotoAndStop(3);
在第3幀添加as為stop();
在第4幀添加as為gotoAndStop(3);
在第5幀添加as為 stop();
在第6幀添加as為gotoAndStop(5);
分別在第12和第31幀添加as為stop();
//遊戲運作到此幀時停止播放。
tellTarget ("../balls3")
tellTarget ("../balls4")
tellTarget ("../balls5")
tellTarget ("../balls6")
tellTarget ("../balls7")
//先分別指定“主場景”中的balls3到ball7五個Movie clip,然後分別運作每個Movie clip當前幀的下一幀。
分別在第13和第32幀插入關鍵幀,然後添加如下Action。
play();
//影片運作到此幀時繼續播放。
tellTarget ("../balls3")
tellTarget ("../balls4")
tellTarget ("../balls5")
tellTarget ("../balls6")
tellTarget ("../balls7")
//分別指定主場景中的balls3到ball7五個Movie clip,運作每個Movie clip當前幀的下一幀。
分別在第25和第44幀添加as為gotoAndStop(5);
分別在第58和第77幀添加如下as。
tellTarget ("../balls8")
//balls8是Mc num的實例名,用來控制遊戲剩餘圓盤對數的變化,當跳到下一幀則數字減1。
分別在第63和第82幀添加as為gotoAndStop(3);
上面所有as的所在幀並不是隨意添加的,而是與圓盤及圖案所有Motion的所在幀相對應,這樣才能在遊戲中調用不同的Motion。
最後,按照上面的方法,再製作從balls2到balls6的其他5個類似的Movie clip影片剪輯,不同之處是每對圓盤背後的圖案要不相同。
5.在此我們要製作記數變化的效果。首先新建一個Movie clip影片剪輯,插入六個關鍵幀,分別將前面做好的6個數字符號按逆續放到第1到第6關鍵幀中(第1關鍵幀放數字6……第6關鍵幀放數字1)。然後新增一個圖層,命名為timeline,同樣插入六個連續的關鍵幀,並給每個關鍵幀都添加Action為“stop();”,讓影片運作到每幀都停下來。
記數變化的時間線(9s57.tif)
6.下面要製作的是遊戲的主控制Movie clip影片剪輯,此影片剪輯用於總體控制。新建一個Movie clip影片剪輯,命名為“主電影”。在進入Movie clip影片剪輯的編輯狀態後,分別新建六個圖層,把前面做好的balls1到balls6六個圖案對分別放到這六個圖層之中,排列成4×3的矩形方陣。
4×3的矩形方陣(9s58.tif)
再新建一個圖層,將符號num拖到編輯區上合適的位置,在其第一幀添加Action為“play();”,最後將所有圖層的時間線延長到第7幀。
總體控制的時間線(9s59.tif)
7.現在進行最後的任務——佈置主場景。很簡單,只須將Movie clip影片剪輯“主電影”拖到主場景中合適的位置就可以了,然後存盤、運作測試並導出為.swf文件。
測試遊戲(9s10.tif)
到此為止,一個簡單而有趣的Flash記憶力遊戲就做好了,如果大家有興趣,還可以在它的基礎上增加一些功能,如增加遊戲中圖案對的數量、增加記時或限時功能等。先不多説了,快開始遊戲吧!
|