国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
AS入門教程第六課文本與字符綜合練習-打字游戲制作[原創(chuàng)][本文已收錄教程庫] - Fla...
打字游戲戲制作
  先看效果
      
現(xiàn)在開始制作:
新建一flash文檔。
1.新建一個影片剪輯元件,命名為“爆炸”。這需要一個爆炸的效果,你可以找一個爆炸圖片,也可以畫一個,我這個是用PS做的。進入元件編輯窗口,將爆炸圖片拖入,打散,居中放好。在第5幀插入關鍵幀。回到第一幀將圖片縮到5象素。然后建立形狀補間。打開庫面板,在爆炸元件上,點右鍵,點擊“連接”,為該元件輸入標識符“bz”.
        導入一個爆炸聲的音樂文件,在庫中音樂文件上點右鍵-屬性。取掉“使用導入品質”上的鉤。壓縮選擇mp3.在庫中右擊該音樂元件,點連接,為該元件輸入標識符“pzs”.
   回到爆炸元件編輯窗口,新建一層,在第3幀插入關鍵幀(這里是要導入爆炸聲,在第幾幀插入根據(jù)聲音的長短來定,如果聲音長那么就在第1幀就導入。)點右鍵,打開幀動作面板,輸入:

var bd:Sound = new Sound();

bd.attachSound("pds");
bd.start();
第一句聲音了一個聲音對;第二句將庫中的爆炸聲音導入。第三句聲音開始播放。
在第5幀插入關鍵幀,在幀動作面板中輸入:
this.removeMovieClip(this);
將爆炸元件移除。
圖:我用PS做的爆炸效果:(png

2.再建一個影片剪輯元件,取名為“大炮”.同樣你可以找一張大炮的圖片,也可以自已畫一個,我這個是自已畫的。注意將圖形放到中心點(十字)稍上方,即十字點在大炮的后半部位。
圖:我畫的大炮,不太好哈。注意十字的位置,大炮將以這一點作為旋轉的基點。
   
3.新建7個按鈕,標簽分別為:“設置”,“重玩”,“字母”,“中文”,“慢速”,“中速”,“快速”。
4.可以選一個背景畫片,同樣可以找一個風景圖(應有天空和地面),也可以畫一個,我畫了一個,又找了一張風景照片,結果還是認為風景照片好看些。當然你也可以不要背景圖片。
5.演員準備齊了,現(xiàn)在開始布置舞臺。
回到主場景。第一層“背景”在第2幀插入關鍵幀,將“設置”,“重玩”按鈕從庫中拖入,放到左上部。打開屬性面板,分別將兩個按鈕命名為:“sz_btn”,”cw_btn”.在左邊稍下邊一點入一靜態(tài)文本,內容為“命中率”,在它的下邊放一動態(tài)文本,在屬性面板中命名為“mzl_txt”;在它的下面放一靜態(tài)文本,內容為“得分”,在它的下面,放一動態(tài)文本,在屬性面板中命名為“df_txt”.在右半部畫一矩形,然后在這個矩形上放一個靜態(tài)文本,內容為“當前設置”。然后放兩個動態(tài)文本,內容分別為:“字母”,“中速”。打開屬性面板,將兩個動態(tài)文本分別命名為:“yysz_txt”,”sdsz_txt”.將“字母”“中文”,“慢速”,“中速”,“快速”按鈕拖入,放到矩形的右半部。在屬性面板中分別命名為:“zm_btn”,”zw_btn”,”ms_btn”,”zs_btn”,”ks_btn”.如下圖:

在第3幀插入幀。
    新建一層:在第2幀插入關鍵幀,將風景圖片拖入,調整大小,蓋住右邊的矩型鄣分:   將“大炮”元件從庫中拖入,放到右邊風景圖的下方中間。在屬性面板中命名為:”dp_mc”.

6.好了,布置好了?,F(xiàn)在來寫代碼。新建一層,命名為“action”,打開幀動作面板。
     首選準備好文字,將出現(xiàn)的文字有字母和中文兩種,我們建兩個字符串來存放文字。字母比較簡單只有26個,所以第一句:

var zm:String = “abcdefghijklmnopqrstuvwxyz”;

第二句放中文,我找了一篇散文,將它存在字符串中,在散后最后加上0~9,這樣也可以讓用練習一下數(shù)字鍵。


var zw:String = "
這幾天心里頗不寧靜。…….”;


zw+="0123456789";

聲明幾變量,后面有用:
var zs=0; //下落文字的總數(shù)
var df=0; //擊中文字的數(shù)量
var lg = 1;//語言,用于后面由用戶選擇練習字母還是練習中文。
var sd = 500;//速度,用于設置文字出現(xiàn)的速度。
var wbformat:TextFormat=new TextFormat();//創(chuàng)建一個文本格式,用于設置下落的文本
wbformat.bold=true;
wbformat.size=22;
在第二幀插入關鍵幀:這一幀將實現(xiàn)文字下落,擊中和得分計數(shù)生等功能。
stop();
//首先創(chuàng)建一個輸入文本用來接受用戶輸入文字:
this.createTextField("sr_txt",31,350,350,30,20);
sr_txt.type="input";
sr_txt.border=true;
sr_txt.text="開始";

//
創(chuàng)建文本位置坐標要根據(jù)實際的位置來確定,使文本出現(xiàn)在大炮的下方。
下面用一個函數(shù)來實現(xiàn)出現(xiàn)字母的功能:

var i=0;

function cwb(wbl){//注意這里聲明的函數(shù)帶了一個參數(shù)wbl,這個參數(shù)用于文本是字母還是中文。
if(i<10){ //這一句就讓屏幕上出現(xiàn)的文字只有10個。
var wbx = 150+random(370); //產(chǎn)生一個150520的隨機數(shù),用于設置文字的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)建那兩個)的長度之間的隨機數(shù),用于從字符串中隨機抽取字符。
wb.text = wbl.charAt(zmwz);//設置文本的內容為字符串中的隨機字符
wb._x=wbx;
wb.setTextFormat(wbformat);//將第1幀創(chuàng)建的文本格式應用于該文本。
zs++;//文本出現(xiàn)后,文字總數(shù)加1
}else {

i=0;

}
i++;
}
//下面通過onEnterFrame事件,讓出現(xiàn)的文本不斷往下落:
onEnterFrame = function() {
for (k=0;k<10;k++){
wb= eval("wb_txt"+k);
wb._y += 2;
}

};
//接下來就是啟動游戲了,我們將啟動按鈕設在輸入文本的onSetFocus事件上,也就是說,當我們一點擊“開始”(輸入文本獲得焦點),游戲啟動。
var szm;//這變量用來調用上面的出現(xiàn)字的函數(shù)。
sr_txt.onSetFocus = function(){

var jsid = setTimeout(js,60000);//
首先設置一個時間限制,就是說60000毫秒(1分鐘)調用函數(shù)js,這個函數(shù)將停止游戲并統(tǒng)計得分。

if(lg==1){//
如果變量lg等于1

szm = setInterval(cwb,sd,zm); //
那么每隔變量sd那么長的時間,調用一次出文字的函數(shù)cwb,并且使用字母(zm)字符串)
}else {//否則

szm = setInterval(cwb,sd,zw);//
那么每隔變量sd那么長的時間,調用一次出文字的函數(shù)cwb,并且使用中文(zw)字符串).所以我們只雖改變變量lg的值,就可以選擇出字母還是出中文了。
}

sr_txt.text="";//
將輸入文本框清空,準備輸入。
}
function js(){//這是聲明了一個用于結束游戲的函數(shù)。

clearInterval(szm);//
清除setInterval的調用,文字不再出現(xiàn)。

mzl_txt.text = int((df/zs)*100)+"%";//
計算命中率,并顯示。
}
//下面通過輸入文本的onChanged事件,實現(xiàn)炮轟文字的效果。
sr_txt.onChanged = function(){//當輸入文本內容發(fā)生變化時,即我們每輸入一個文字時

for(var j=0;j<10;j++){


cxdwb =eval("wb_txt"+j);


if(sr_txt.text == cxdwb.text){//
如果輸入的文字和出現(xiàn)的文字之一一樣。

attachMovie("bz","bz_mc",21);//
那么從庫中加載爆炸元件,這里的深度我用了21,是為了避免與出現(xiàn)的文字文本沖突,當然11也就行了,因為文字文本只有10個。



bz_mc._x=cxdwb._x;


bz_mc._y=cxdwb._y+10;//
兩句設置爆炸元的位置和文字文本的位置一樣,使其在文字處爆炸。

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ù)使大炮的方向轉為文字文本的方向。

cxdwb.removeTextField();//
爆炸后將文字文本刪除,即炸掉了。

df++;//
擊中后得分加1

df_txt.text=df;//
顯示得分

}


}


sr_txt.text="";//
清空輸入文本,準備下一次輸入。

}

//游戲的功能就完成了,現(xiàn)在應提供一個重玩按鈕,讓用戶可以重新開始游戲。
cw_btn.onRelease= function(){//當重玩按鈕被點擊時

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="";

}
//下面是設置按鈕,進入設置頁面。
sz_btn.onRelease =function(){

gotoAndStop(3);

}
    在第3幀插入關鍵幀,將在這一幀設置文字語言,速度等。
進入設置頁面后,首先停止游戲:
clearInterval(szm);
zs=0;
df=0;
//下面是幾個設置按鈕上的代碼:
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;//
設置sd1000毫秒,即每1000毫秒出一個文字,下同

sdsz_txt.text="
慢速";
}
zs_btn.onRelease=function(){

sd = 500;


sdsz_txt.text="
中速";
}
ks_btn.onRelease=function(){

sd =200;


sdsz_txt.text="
快速";
}
qd_btn.onRelease=function(){//這是確定按鈕上的代碼,點擊確定按鈕后,退出設置窗口,返回游戲窗口,繼續(xù)游戲。

gotoAndStop(2);

}
好,完工,祝你成功!

[ 本帖最后由 sanbos 于 2008-11-19 09:48 編輯 ]
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
flash制作滾動文本
Flash AS教程:_visible屬性的詳細講解
如何在PPT里插入一個秒表計時器?
精美flash課件制作全攻略
【Flash高級編程】屬性控制學習筆記
as3.0外部加載音樂
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服