資源描述:
《flash游戲制作--打靶》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、Flash射擊類游戲現在已經有很多了,大部分是那種飛行射擊類游戲,這此我們來學習制作一款比較另類的射擊游戲—打靶,就象在靶場一樣,遠處擺放一個目標靶,你來進行射擊,不過這個游戲玩還是有點難度的,因為游戲中的目標靶會一直慢慢的移動,可不是一動不動地等著你來打。(本例的.swf和.fla文件點擊這里下載)游戲的主界面如圖1所示:圖1游戲中有一個不斷移動的方形目標靶,玩家可以控制一個瞄準器來射擊,每次最高得分為5分,也就是必須射中靶心才可以,最低得分為1分,具體得分視射擊結果來定,目標靶的右面是記分牌,用來記錄射擊次數和每次的得分,每次游戲可以打十槍,得分越高越好。1.游戲中每次射擊后對所得分數
2、的判斷是根據所射中的圓環(huán),如果射中的是最外面的圓環(huán),只能得一分,越往內部,得分越高,所以首先制作目標靶中的代表不同得分的圓環(huán),因為在射擊過程中圓環(huán)需要對鼠標的點擊做出響應,所以圓環(huán)應該制作成Button.新建一個Button按鈕元件,命名為1,進入元件的編輯區(qū)后,使用橢圓工具繪制兩個不同大小的正圓,然后將小圓放到大圓的內部,并將小圓的內部填充區(qū)域刪除掉,然后使用文本工具在圓環(huán)上標注上分值,如圖2所示:圖2按照相同的方法制作其余四個代表不同分數的圓環(huán),只不過分數越大的圓環(huán),其內部的小圓半徑就越小,同時給不同圓環(huán)標注上相應的分數,其余四個圓環(huán)分別如圖3,4,5,6所示;圖3圖4圖5圖62.接下
3、來制作瞄準器,新建一個Graphic圖形元件,命名為gun,進入元件的編輯區(qū)后,使用繪圖工具繪制如圖7所示的瞄準器:圖7在第4幀插入一個關鍵幀,將圖7中的所有線條的寬度稍微減小,如圖8所示,這樣就可以達到瞄準器的伸縮效果:圖8最后新建一個Movieclip影片剪輯元件,命名為mgun,將上面制作好的元件gun拖到編輯區(qū)中即可。3.下面來制作游戲中的關鍵部分,目標靶。新建一個Movieclip影片剪輯元件,命名為target,進入元件的編輯區(qū)后,添加四個圖層,從下向上依此命名為bg,target,info和as。選擇圖層bg,使用Flash提供的豐富的繪圖工具繪制一個目標靶的背景圖,可以根據
4、自己的喜好來繪制,這里我們繪制的背景圖如圖9所示:圖9最后將時間線延伸到第3幀?;氐綀D層target,將前面制作好的五個圓環(huán)1,2,3,4,5拖到編輯區(qū)中,將1排到最外層,將5放到最內層,并按照實際生活中靶的情況進行排列,如圖10所示:圖10最后將時間線延伸到第2幀即可?;氐綀D層info,使用文本工具在游戲背景的右側繪制兩個文本框,在屬性面板中分別設置為Dynamictext動態(tài)文本框,并分別設置文本變量為b和c,分別代表游戲中的射擊次數和每次的得分,然后使用文本工具在文本框旁邊輸入提示信息,如圖11所示:圖11然后在此層的第3幀插入一個空白關鍵幀,使用文本工具在背景上輸入重玩的提示信息—
5、replay,然后在下面繪制一個動態(tài)文本框,設置其變量名為a,用來顯示最后的總得分,如圖12所示;圖12最后在圖層as的第2幀添加AS:gotoAndPlay(1);在圖層as的第3幀添加AS:stop();4.這里可能大家會問,控制游戲的Action動作腳本在哪里呢?我們可以仔細想一想,游戲中的主要動作就是玩家對目標靶進行的射擊,所以游戲中主要的控制腳本應該加在前面的五個圓環(huán)中。回到圖層target,選中圓環(huán)1,添加如下AS:on(release){a=Number(a)+Number(1);//如果擊中了圓環(huán)1,游戲總分為上次總分加1b=Number(b)+Number(1);//射擊
6、次數為當前次數加1c=1//當次射擊得分為1}//如果擊中了圓環(huán)1,游戲總分為上次總分加1同樣的給圓環(huán)2添加如下AS:on(release){a=Number(a)+Number(2);//如果擊中了圓環(huán)1,游戲總分為上次總分加2b=Number(b)+Number(1);//射擊次數為當前次數加1c=2//當次射擊得分為2}給圓環(huán)3添加如下AS:on(release){a=Number(a)+Number(3);//如果擊中了圓環(huán)1,游戲總分為上次總分加3b=Number(b)+Number(1);//射擊次數為當前次數加1c=3//當次射擊得分為3}給圓環(huán)4添加如下AS:on(rele
7、ase){a=Number(a)+Number(4);//如果擊中了圓環(huán)1,游戲總分為上次總分加4b=Number(b)+Number(1);//射擊次數為當前次數加1c=4//當次射擊得分為4}給圓環(huán)5添加如下AS:on(release){a=Number(a)+Number(5);//如果擊中了圓環(huán)1,游戲總分為上次總分加5b=Number(b)+Number(1);//射擊次數為當前次數加1c=5//當次射擊得分為