




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 Flash AS 教程 文本與字符實(shí)例打字游戲制作開始制作:新建一flash文檔。1新建一個影片剪輯元件,命名為“爆炸”。這需要一個爆炸的效果,你可以找一個爆炸圖片,也可以畫一個,我這個是用PS做的。進(jìn)入元件編輯窗口,將爆炸圖片拖入,打散,居中放好。在第5幀插入關(guān)鍵幀?;氐降谝粠瑢D片縮到5象素。然后建立形狀補(bǔ)間。打開庫面板,在爆炸元件上,點(diǎn)右鍵,點(diǎn)擊“連接”,為該元件輸入標(biāo)識符“bz”. 導(dǎo)入一個爆炸聲的音樂文件,在庫中音樂文件上點(diǎn)右鍵-屬性。取掉“使用導(dǎo)入品質(zhì)”上的鉤。壓縮選擇mp3.在庫中右擊該音樂元件,點(diǎn)連接,為該元件輸入標(biāo)識符“pzs”.回到爆炸元件編輯窗口,新建一層,在第3幀插入
2、關(guān)鍵幀(這里是要導(dǎo)入爆炸聲,在第幾幀插入根據(jù)聲音的長短來定,如果聲音長那么就在第1幀就導(dǎo)入。)點(diǎn)右鍵,打開幀動作面板,輸入: var bd:Sound = new Sound(); bd.attachSound(pds); bd.start(); 第一句聲音了一個聲音對;第二句將庫中的爆炸聲音導(dǎo)入。第三句聲音開始播放。 在第5幀插入關(guān)鍵幀,在幀動作面板中輸入: this.removeMovieClip(this); 將爆炸元件移除。圖:我用PS做的爆炸效果:(png)2再建一個影片剪輯元件,取名為“大炮”.同樣你可以找一張大炮的圖片,也可以自已畫一個,我這個是自已畫的。注意將圖形放到中心點(diǎn)(十
3、字)稍上方,即十字點(diǎn)在大炮的后半部位。圖:我畫的大炮,不太好哈。注意十字的位置,大炮將以這一點(diǎn)作為旋轉(zhuǎn)的基點(diǎn)。3新建7個按鈕,標(biāo)簽分別為:“設(shè)置”,“重玩”,“字母”,“中文”,“慢速”,“中速”,“快速”。4可以選一個背景畫片,同樣可以找一個風(fēng)景圖(應(yīng)有天空和地面),也可以畫一個,我畫了一個,又找了一張風(fēng)景照片,結(jié)果還是認(rèn)為風(fēng)景照片好看些。當(dāng)然你也可以不要背景圖片。5演員準(zhǔn)備齊了,現(xiàn)在開始布置舞臺?;氐街鲌鼍?。第一層“背景”在第2幀插入關(guān)鍵幀,將“設(shè)置”,“重玩”按鈕從庫中拖入,放到左上部。打開屬性面板,分別將兩個按鈕命名為:“sz_btn”,”cw_btn”.在左邊稍下邊一點(diǎn)入一靜態(tài)文本,
4、內(nèi)容為“命中率”,在它的下邊放一動態(tài)文本,在屬性面板中命名為“mzl_txt”;在它的下面放一靜態(tài)文本,內(nèi)容為“得分”,在它的下面,放一動態(tài)文本,在屬性面板中命名為“df_txt”.在右半部畫一矩形,然后在這個矩形上放一個靜態(tài)文本,內(nèi)容為“當(dāng)前設(shè)置”。然后放兩個動態(tài)文本,內(nèi)容分別為:“字母”,“中速”。打開屬性面板,將兩個動態(tài)文本分別命名為:“yysz_txt”,”sdsz_txt”.將“字母”“中文”,“慢速”,“中速”,“快速”按鈕拖入,放到矩形的右半部。在屬性面板中分別命名為:“zm_btn”,”zw_btn”,”ms_btn”,”zs_btn”,”ks_btn”.如下圖:在第3幀插入幀
5、。新建一層:在第2幀插入關(guān)鍵幀,將風(fēng)景圖片拖入,調(diào)整大小,蓋住右邊的矩型鄣分: 將“大炮”元件從庫中拖入,放到右邊風(fēng)景圖的下方中間。在屬性面板中命名為:”dp_mc”.next6好了,布置好了?,F(xiàn)在來寫代碼。新建一層,命名為“action”,打開幀動作面板。首選準(zhǔn)備好文字,將出現(xiàn)的文字有字母和中文兩種,我們建兩個字符串來存放文字。字母比較簡單只有26個,所以第一句: var zm:String = “abcdefghijklmnopqrstuvwxyz”;第二句放中文,我找了一篇散文,將它存在字符串中,在散后最后加上09,這樣也可以讓用練習(xí)一下數(shù)字鍵。 var zw:String = 這幾天心
6、里頗不寧靜。.”; zw+=0123456789; 聲明幾變量,后面有用: var zs=0; /下落文字的總數(shù) var df=0; /擊中文字的數(shù)量 var lg = 1;/語言,用于后面由用戶選擇練習(xí)字母還是練習(xí)中文。 var sd = 500;/速度,用于設(shè)置文字出現(xiàn)的速度。 var wbformat:TextFormat=new TextFormat();/創(chuàng)建一個文本格式,用于設(shè)置下落的文本 wbformat.bold=true; wbformat.size=22; 在第二幀插入關(guān)鍵幀:這一幀將實(shí)現(xiàn)文字下落,擊中和得分計數(shù)生等功能。 stop(); /首先創(chuàng)建一個輸入文本用來接受用戶
7、輸入文字: this.createTextField(sr_txt,31,350,350,30,20); sr_txt.type=input; sr_txt.border=true; sr_txt.text=開始; /創(chuàng)建文本位置坐標(biāo)要根據(jù)實(shí)際的位置來確定,使文本出現(xiàn)在大炮的下方。 下面用一個函數(shù)來實(shí)現(xiàn)出現(xiàn)字母的功能: var i=0; function cwb(wbl)/注意這里聲明的函數(shù)帶了一個參數(shù)wbl,這個參數(shù)用于文本是字母還是中文。 if(i10) /這一句就讓屏幕上出現(xiàn)的文字只有10個。 var wbx = 150+random(370); /產(chǎn)生一個150到520的隨機(jī)數(shù),用于設(shè)
8、置文字的x屬性。 createTextField(wb_txt+i,i,200,20,30,30); wb = eval(wb_txt+i); var zmwz = random(wbl.length);/產(chǎn)生一個從0文本字符串(第1幀創(chuàng)建那兩個)的長度之間的隨機(jī)數(shù),用于從字符串中隨機(jī)抽取字符。 wb.text = wbl.charAt(zmwz);/設(shè)置文本的內(nèi)容為字符串中的隨機(jī)字符 wb._x=wbx; wb.setTextFormat(wbformat);/將第1幀創(chuàng)建的文本格式應(yīng)用于該文本。 zs+;/文本出現(xiàn)后,文字總數(shù)加1 else i=0; i+; /下面通過onEnterFra
9、me事件,讓出現(xiàn)的文本不斷往下落: onEnterFrame = function() for (k=0;k10;k+) wb= eval(wb_txt+k); wb._y += 2; ; /接下來就是啟動游戲了,我們將啟動按鈕設(shè)在輸入文本的onSetFocus事件上,也就是說,當(dāng)我們一點(diǎn)擊“開始” (輸入文本獲得焦點(diǎn)),游戲啟動。 var szm;/這變量用來調(diào)用上面的出現(xiàn)字的函數(shù)。 sr_txt.onSetFocus = function() var jsid = setTimeout(js,60000);/首先設(shè)置一個時間限制,就是說60000毫秒(1分鐘)調(diào)用函數(shù)js,這個函數(shù)將停止游
10、戲并統(tǒng)計得分。 if(lg=1)/如果變量lg等于1 szm = setInterval(cwb,sd,zm); /那么每隔變量sd那么長的時間,調(diào)用一次出文字的函數(shù)cwb,并且使用字母(zm)字符串) else /否則 szm = setInterval(cwb,sd,zw);/那么每隔變量sd那么長的時間,調(diào)用一次出文字的函數(shù)cwb,并且使用中文(zw)字符串).所以我們只雖改變變量lg的值,就可以選擇出字母還是出中文了。 sr_txt.text=;/將輸入文本框清空,準(zhǔn)備輸入。 function js()/這是聲明了一個用于結(jié)束游戲的函數(shù)。 clearInterval(szm);/清除s
11、etInterval的調(diào)用,文字不再出現(xiàn)。 mzl_txt.text = int(df/zs)*100)+%;/計算命中率,并顯示。 /下面通過輸入文本的onChanged事件,實(shí)現(xiàn)炮轟文字的效果。 sr_txt.onChanged = function()/當(dāng)輸入文本內(nèi)容發(fā)生變化時,即我們每輸入一個文字時 for(var j=0;j10;j+) cxdwb =eval(wb_txt+j); if(sr_txt.text = cxdwb.text)/如果輸入的文字和出現(xiàn)的文字之一一樣。 attachMovie(bz,bz_mc,21);/那么從庫中加載爆炸元件,這里的深度我用了21,是為了避免
12、與出現(xiàn)的文字文本沖突,當(dāng)然11也就行了,因?yàn)槲淖治谋局挥?0個。 bz_mc._x=cxdwb._x; bz_mc._y=cxdwb._y+10;/兩句設(shè)置爆炸元的位置和文字文本的位置一樣,使其在文字處爆炸。 dx = cxdwb._x - dp_mc._x; dy = cxdwb._y - dp_mc._y; dz = Math.atan2(dy,dx)*180/Math.PI; dp_mc._rotation = dz+90;/上面是通過三角函數(shù)使大炮的方向轉(zhuǎn)為文字文本的方向。 cxdwb.removeTextField();/爆炸后將文字文本刪除,即炸掉了。 df+;/擊中后得分加1 d
13、f_txt.text=df;/顯示得分 sr_txt.text=;/清空輸入文本,準(zhǔn)備下一次輸入。 /游戲的功能就完成了,現(xiàn)在應(yīng)提供一個重玩按鈕,讓用戶可以重新開始游戲。 cw_btn.onRelease= function()/當(dāng)重玩按鈕被點(diǎn)擊時 if(lg=1) szm = setInterval(cwb,sd,zm); else szm = setInterval(cwb,sd,zw); sr_txt.text=; setTimeout(js,60000); df=0; zs=0; mzl_txt.text=; /下面是設(shè)置按鈕,進(jìn)入設(shè)置頁面。 sz_btn.onRelease =fun
14、ction() gotoAndStop(3); 在第3幀插入關(guān)鍵幀,將在這一幀設(shè)置文字語言,速度等。 進(jìn)入設(shè)置頁面后,首先停止游戲: clearInterval(szm); zs=0; df=0; /下面是幾個設(shè)置按鈕上的代碼: zm_btn.onRelease = function() lg=1;/讓孌量lg等于1,這樣文字將會是字母 yysz_txt.text=字母; zw_btn.onRelease = function() lg=2;/讓孌量lg不等于1,這樣文字將會是中文 yysz_txt.text=中文; ms_btn.onRelease= function() sd = 1000;/設(shè)置sd為1000毫秒,即每1000毫秒出一個文字,下同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏項(xiàng)目施工勞務(wù)合同范例
- 蘭舍硅藻泥合同范例
- 專業(yè)工程分包合同范例
- 主場合同范例
- 公司購買汽車合同范例
- 買二手車寫合同范例寫
- 養(yǎng)魚置業(yè)購銷合同范例
- 書面租賃合同范例
- 不銹鋼加工定制合同范例
- 關(guān)于出租車運(yùn)營合同范例
- 電工(高級技師)理論知識試題庫+參考答案
- 滬教版小學(xué)五年級數(shù)學(xué)上冊教案 全冊
- 《新時代大學(xué)生勞動教育與實(shí)踐》全套教學(xué)課件
- 《鐵路軌道維護(hù)》課件-道岔起道作業(yè)
- 煤礦班隊(duì)長培訓(xùn)
- 精神病物理治療
- 北京化工大學(xué)《電路與模擬電子技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 如何發(fā)現(xiàn)腎臟病
- GB/T 44537-2024精細(xì)陶瓷室溫斷裂韌性試驗(yàn)方法表面裂紋彎曲梁(SCF)法
- 證券分析(第6版)下部
- JJF(京) 124-2024 智能電表電動自行車充電辨識模組校準(zhǔn)規(guī)范
評論
0/150
提交評論