摘要:Flash不僅擁有動畫創(chuàng)作的能力,同時(shí)因其內(nèi)嵌的ActionScript3.0腳本語言,故而Flash還能進(jìn)行應(yīng)用程序的開發(fā)工作。ActionScript3.0是一種面向?qū)ο蟮木幊陶Z言,使用ActionScript3.0可以控制Flash動畫中的對象,增強(qiáng)動畫創(chuàng)作的交互性。該文是基于Flash和ActionScript3.0來設(shè)計(jì)制作的一個簡單的九宮格數(shù)字華容道拼圖游戲。
關(guān)鍵詞:Flash;ActionScript3.0;拼圖游戲
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)34-0066-03
1 數(shù)字華容道拼圖游戲簡介和玩法
1.1 游戲簡介
拼圖游戲是常見的益智游戲之一,在各種數(shù)字智能終端設(shè)備(手機(jī)、平板、筆記本電腦等)下都可以通過網(wǎng)絡(luò)搜索、下載、安裝和娛樂,受到很多網(wǎng)民的歡迎。本文中的游戲?yàn)閿?shù)字華容道的3*3九宮格數(shù)字拼圖,游戲玩家通過使用鍵盤的上下左右鍵來移動數(shù)字圖形方塊,最終使得數(shù)字按照規(guī)律進(jìn)行排列,達(dá)到最終的效果,如圖3,此時(shí)游戲完成。
其中圖1是游戲剛啟動時(shí)的效果,圖2是游戲進(jìn)行中的效果,圖3是游戲完成后的效果。
1.2 游戲具體玩法
玩家在拼圖的過程中,如果拼圖步驟不對,需要重新開始一次游戲,可以直接鼠標(biāo)單擊游戲界面上的“再玩一次”按鈕或者按鍵盤上空格鍵,都可以重置游戲。所有數(shù)字圖塊的位置都排列正確后,畫面上將顯示“你真棒o(n_n)o”幾個文字和符號,表示數(shù)字華容道的拼圖被正確拼好。
2 游戲創(chuàng)作過程
2.1 利用Photoshop制作華容道九宮格數(shù)字圖塊
1)首先需要在Photoshop中制作一張素材圖片:“數(shù)字華容道拼圖初始圖.jpg”,大小為150像素*150像素,如圖4,由于制作過程相對比較簡單,在此不再贅述,Photoshop制作過程圖,如圖5所示。
2)啟動Flash,使用“文件”一“新建”(Ctrl+N)一“Action-Script3.0”命令,新建一個Flash文件,文檔背景顏色設(shè)置為灰色,寬550像素,高400像素。
3)然后在Flash中選擇“文件”一“導(dǎo)入”一“導(dǎo)入到舞臺”命令,將Photoshop中制作好的“數(shù)字華容道拼圖初始圖.jpg”導(dǎo)入影片。
4)使用“選擇工具”按鈕,單擊選中圖片,使用快捷鍵Ctrl+B(分離),將圖片進(jìn)行打散。再調(diào)出標(biāo)尺(快捷鍵Ctrl+Shift+Alt+R),利用輔助線對圖片進(jìn)行劃分,分成九宮格,如圖6所示。
5)拼圖游戲需要使用鍵盤上的上下左右鍵進(jìn)行移動數(shù)字圖塊,故在制作游戲的過程中,需要將每一塊數(shù)字圖塊轉(zhuǎn)換成影片元件。利用“選擇工具”,框選“數(shù)字1”數(shù)字圖塊,“數(shù)字1”數(shù)字圖塊轉(zhuǎn)換為元件前,內(nèi)容需要進(jìn)行修改,因此需要選中“數(shù)字1”數(shù)字圖塊,然后選中“屬性面板”,將其顏色“填充”設(shè)置為綠色(當(dāng)然也可以選擇其他顏色),這樣第一塊圖形就被填充為綠色,這樣可作為空白塊使用。然后使用快捷鍵F8(轉(zhuǎn)換為元件),將“數(shù)字1”圖塊轉(zhuǎn)換為元件,類型為:影片剪輯,并命名為“Shul”。
6)重復(fù)上一步的做法,分別轉(zhuǎn)換其他數(shù)字圖塊為影片剪輯元件:Shu2 -,Shu9。
(7)選中每個數(shù)字圖塊,分別將“屬性”面板中的“實(shí)例”設(shè)置為:S1、S2、S3-,S9。
2.2 重新排列數(shù)字圖塊
第一次運(yùn)行游戲或者重置游戲時(shí),都需要實(shí)現(xiàn)數(shù)字圖塊的重新排列。具體的實(shí)現(xiàn)思路是:先將9個數(shù)字圖塊實(shí)例放置在一個數(shù)組sz- Arr中。然后在第一次運(yùn)行游戲或者重置游戲時(shí),每個數(shù)字圖塊實(shí)例在數(shù)組中的索引進(jìn)行隨機(jī)交換。然后根據(jù)每個圖塊實(shí)例在數(shù)組中的索引號,實(shí)現(xiàn)重新排列實(shí)例圖塊在舞臺中的位置。具體代碼如下圖7和圖8。
2.3 獲取鍵盤上的按鍵信息
玩家通過鍵盤上的上下左右鍵進(jìn)行移動空白圖塊從而使得拼圖游戲能夠進(jìn)行,如果玩家在游戲中途離開或者拼錯,可以按鍵盤上的空格鍵進(jìn)行重置游戲。我們需要通過pressKey-board0函數(shù)來實(shí)現(xiàn)按下鍵盤上的不同按鍵從而實(shí)現(xiàn)不同的處理,具體代碼如圖9。
2.4 數(shù)字圖塊交換函數(shù)
數(shù)字圖塊的交換,就是使得數(shù)字圖塊的索引號進(jìn)行交換,然后重新排列每一個數(shù)字圖塊在舞臺中的位置。Interchange(r,c)將空數(shù)字圖塊移動到指定目標(biāo)位置,函數(shù)的參數(shù)r、c分別行號與列號??諗?shù)字圖塊原來的位置是(k_Row,k_Col)。具體代碼如圖10。
2.5 判斷拼圖是否完成的方法
判斷是否拼圖完成是根據(jù)sz—Arr數(shù)組中,各數(shù)字圖塊實(shí)例的索引順序是否一定是(SI,S2…S9],因此只需判斷sz- Arr數(shù)組中的實(shí)例元素是否是按照此順序排列的即可。具體代碼如圖11所述:
3 拼圖游戲?qū)崿F(xiàn)的步驟
3.1 創(chuàng)建Flash文件
1)使用“文件”一“新建”(CtrI+N)→“ActionScript3.0”命令,新建一個Flash文件,設(shè)置文檔背景色:灰色,文檔大小為:寬550像素,高400像素。在屬性面板設(shè)置文檔類為DigitaIHua-rongRoad。
2)在工具面板中選擇文本工具,在場景舞臺上中間區(qū)域?qū)懮稀澳阏姘鬿(n_n)o”文字和符號,并在屬性面板中將文本設(shè)置為動態(tài)文本,并將實(shí)例命名為Finish_Text。
3)添加重置游戲按鈕Reset_btn:選擇“窗口”→“公用庫”→“Buttns”→“buttons bar”→“bar bule”,使用鼠標(biāo)拖拽一個按鈕到舞臺上,然后將按鈕上的文本修改為:“再來一次”,點(diǎn)擊“屬性”面板,將實(shí)例名修改為Reset_btn。
3.2 設(shè)計(jì)文檔類
選擇“文件”一“新建”選項(xiàng),在窗口中選擇“ActionScript文件”選項(xiàng)。新建一個ActionScript類文件,命名為DigitaIHua-rongRoad.as.并保存到剛剛創(chuàng)建Flash文件所在的文件夾中。
4 結(jié)束語
以上是使用Flash及其內(nèi)嵌的ActionScript3.0腳本語言進(jìn)行設(shè)計(jì)和制作一個數(shù)字華容道的拼圖小游戲的整個設(shè)計(jì)思路和具體流程。
我們使用Flash中的工具和命令來制作切分?jǐn)?shù)字圖塊,然后添加起重置作用的按鈕和當(dāng)拼圖完成時(shí)能夠出現(xiàn)的文本:“你真棒o(n_n)o”,這些就是游戲前端的內(nèi)容;對于如何讓游戲動起來,那就要涉及游戲的靈魂——游戲編程。我們把游戲中需要實(shí)現(xiàn)的效果通過編程寫出具體的代碼,然后把它封裝到DigitaIHuarongRoad類中。游戲前端的對象可以通過調(diào)用Digit-alHuarongRoad類中具體的屬性和方法來實(shí)現(xiàn)游戲的最終效果。
當(dāng)然本文只是設(shè)計(jì)制作了一個比較簡單的3階(九宮格)的數(shù)字華容道,那么同理也可以制作4階,5階……n階的數(shù)字華容道,數(shù)字華容道的階數(shù)n越大游戲難度越大,如果再給游戲添加上關(guān)卡,就可以將游戲難度設(shè)置成由易到難的狀態(tài),游戲玩家可以由簡單到復(fù)雜的玩游戲,這比較符合人們在實(shí)際生活中玩游戲時(shí)候的場景。
參考文獻(xiàn):
[1] Rex Van Der Spuy.Foundation Game Design with Flash[M].李鑫,陳文登,付斌,譯.北京:人民郵電出版社,2011.
[2] Rex Van Der Spuy. Foundation Game Design with Action-Script 3.O[M].Univ California- Berkeley:Apress,2012.
[3]朱治國,繆亮,陳艷麗.Flash ActionScript 3.0編程技術(shù)教程[M].北京:清華大學(xué)出版社,2008.
[4]劉本軍,李登豐.Flash ActionScript 3.0互動設(shè)計(jì)項(xiàng)目教程[M].北京:人民郵電出版社,2015.
【通聯(lián)編輯:光文玲】
收稿日期:2019-08-22
作者簡介:徐東霞(1986-),女,江蘇贛榆人,江南影視藝術(shù)職業(yè)學(xué)院,助教,主要研究方向?yàn)檐浖夹g(shù)、數(shù)字媒體技術(shù)、游戲方向。