Flash游戲制作:簡單射擊游戲教程(Fla源文件)_Flash教程
推薦:Flash初學者教程:簡單制作圖形變換寫個簡單的教程,一起學習下吧...新建一個空白的FLASH文檔,把背景色改為黑色。圖1:按CtrlF8新建一個景片剪輯。圖2:在景片剪輯中,選擇文本工具,在舞臺上
本游戲教程涉及自定義鼠標,鼠標跟隨,鼠標事件,簡單動畫,文本框等方面,最終成品如下,游戲難度變化:假如你感愛好,先把所有源文件下載,然后對照文件看以下教程,其實光看源文件已經(jīng)非常清楚了,因為我大量注釋,而且分步驟寫代碼,但還是想羅嗦幾句,力求一看就懂(函數(shù)的使用可按F1查看幫助):
第一步,自定義鼠標:
CTRL F8加入新元件,畫個魔法棒,做三幀,第一幀為普通狀態(tài),第二、三幀為按下狀態(tài),若按下狀態(tài)只有一幀,動畫太快。在庫中(CTRL L打開庫)右鍵單擊該元件,選擇鏈接,在對話框中選定“為ActionScript導(dǎo)出”,然后在標識符輸入一個名字,我的是mouse。這樣attachMovie就能運行時導(dǎo)入影片魔法棒,創(chuàng)建鼠標偵聽事件,做到棒子代替原鼠標圖案。
自定義鼠標效果
第二步,鼠標追隨:
加入新元件(CTRL F8),800%視角畫個小星星,元件命名為flashStar,再加入一個manyStar,將flashStar拖入manyStar,同時flashStar的屬性的實例名稱命名為mc0,它就是追隨中的帶頭大哥,在manyStar里寫代碼,先復(fù)制一群小弟,后一個追著前一個跑就行了。然后將manyStar拖入場景,命名為mc,在代碼處加入開始確定mc位置的代碼就好了。簡單吧,關(guān)于命名的東東我往后不具體說了。
鼠標追隨效果
第三步,變化的星星:
修改flashStar,讓它做變色動畫,這樣我們的星星就能邊追隨邊變色,再搞個revolutionStar,將flashStar加入其中,讓flashStar做旋轉(zhuǎn)動畫,接著在manyStar中把原來的flashStar交換成revolutionStar(在屬性框中交換),星星可以追隨、變色加旋轉(zhuǎn)了!這樣我們完成了三個影片的嵌套使用,manyStar套revolutionStar套flashStar,關(guān)于嵌套我又不多說了。做個moveStar,套上revolutionStar,做引導(dǎo)線運動,引導(dǎo)線就隨便畫吧,再將manyStar中的revolutionStar交換成moveStar。
變化的星星效果
第四步,一堆星星:
做randomStar套moveStar隨機決定其位置,再交換,做個allStar套randomStar將其復(fù)制出六個,旋轉(zhuǎn)它們角度到六個方向上,再交換。好了群星追隨全部完工。
一堆星星效果
第五步,物體下落:
先做個函數(shù)randRange用于獲取兩數(shù)間的隨機整數(shù),以后多處用到。做個圓形元件第一幀停止,我的之所以持續(xù)多幾幀,是為了將來設(shè)置幀標簽時好看。創(chuàng)建this.onEnterFrame事件,這個就是游戲的主循環(huán),意思是this(這里指主場景)進入幀后就不停的干。然后象第一步那樣運行時導(dǎo)入圓形,設(shè)置屬性,建立被導(dǎo)入圓形的onEnterFrame事件,這里是指這個圓形進入幀后就不停的干直到它被刪除,事件中的this就指這個圓形而不是前面的主場景。通過改變_y屬性做到下落,超出范圍就刪除。用個randRange來決定是否出現(xiàn)新物體下落,不然會有一堆圓形出現(xiàn)。還要注重的是我用了depth變量決定新物體的深度,并使它保持在一定范圍內(nèi),而沒有用getNextHighestDepth()方法,之所以這么做是為了保持鼠標圖案的5000深度最高,這樣物體不會覆蓋到棒子的上面。但大家可以發(fā)現(xiàn)星星是在物體下面的,就是因為它的深度不夠,大家可以想辦法修改。
物體下落效果
第六步,多種物體:
加入多幾種圖形元件,在導(dǎo)入時隨機決定種類、屬性,with的用法值得注重下,這可以減少輸入量。另外屬性中有個叫speed的,它不是內(nèi)置屬性,是我們自己加的,F(xiàn)LASH答應(yīng)不聲明就使用變量,其實這個speed是新建依附于target的變量,各個導(dǎo)入元件的speed是不同的,所以物體以不同速度下落。
多種物體效果
第七步,點擊事件:
加入blast元件先不畫東西,再修改各個物體元件,在他們后加入空白要害幀,設(shè)置幀標簽(點幀看屬性框)為hit,加入blast。這是為了做出點擊后的爆炸效果,blast的動畫就自己畫了,就是做些碎片朝不同方向飛開就行了。回主代碼處創(chuàng)建target的onPress事件,就是點這個元件后要做的事,然后this.gotoAndStop("hit")。要注重的是一定要用this而不能用target,雖然創(chuàng)建時target和this指的是同一個東西,但隨后的運行target是會變的,而this一直都指向它的創(chuàng)建者。
點擊事件效果
第八步,得分框:
這個主要自己看了,F(xiàn)1看幫助是好的學習方法,除Date和createTextField外就是加個score變量,在被點擊時加分。
得分框效果
第九步,游戲難度變化:
加入level變量,和兩個關(guān)于level變化提示的元件,修改鏈接。score在物體超界時減少,level在updateStats()中根據(jù)score更新,再根據(jù)level變化情況導(dǎo)入相應(yīng)levelDown或levelUp元件,同時物體下降速度和機率都根據(jù)level變化。當level到10后randRange(0, 30 - level * 2) == 11永遠為假,即創(chuàng)建新物體行為停止,同時幀到第三,顯示W(wǎng)in字樣。至此,游戲基本完工,再改改細節(jié),比如畫布大小,背景色,幀數(shù),在鼠標偵聽onMouseMove中加入updateAfterEvent();使移動更順暢,改改Bug,根據(jù)自己喜愛修改level,speed,score等,或加入自己的東西,但還有!
第十步,自己搞:
重看源代碼,先理解游戲整體結(jié)構(gòu),再看細節(jié)實現(xiàn),充分理解后自己動起手來吧!
分享:利用Flash的遮罩制作簡單視覺特效[前言]1、有位朋友說這種特效是用什么軟件制作的,我說用遮罩就可以,他不信,于是做了一個。2、我以前寫了個《遮罩全解》的教程,這個制作權(quán)作其延續(xù)。[要
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash游戲制作:簡單射擊游戲教程(Fla源文件)
。