文章出處

請先閱讀:Flash游戲開發教程:第七節
范例接寶游戲中得分顯示類和時間控制類的CLASS講解
事實上這兩部分比較簡單
所以并在一起講解了
講解前先點開FLA文件,把這兩個MC看看,對MC構造了解了,才能寫CLASS嘛~
看下得分顯示類的代碼:
class game.Score_view extends MovieClip {
private var w1:MovieClip;
private var w2:MovieClip;
private var w3:MovieClip;
private var w4:MovieClip;
private var w5:MovieClip;
private var w6:MovieClip;
private var i:Number
//構造函數
function Score_view() {
init();
}
//公-私有方法
public function init() {
onEnterFrame = Control;
}
private function Control() {
for (i=1; i<=6; i ) {
if (i<=int(String(_root.score).length)) {
this["w" i].gotoAndStop(int(String(_root.score).substr(i*(-1), 1)) 1);
} else {
this["w" i].gotoAndStop(1);
}
}
}
}
原理很簡單,就是讓這個MC一直onEnterFrame著,按照總得分來不斷操控MC里的6個數字MC變化
仔細思考下Control()里的代碼,想通了其實很簡單哦~~
不多說了,懂了后就跟我看時間控制類的(不懂就繼續看,直到看懂為止)
下面是時間控制類:
class game.Time_control extends MovieClip{
private var t:Number
public var time:Number
//------------------------------------------
/*
function Time_control(){
init()
}
*/這段被注銷掉了,因為我不要它一出現在舞臺就開始倒計時。什么時候倒計時,游戲控制類會給本類發出命令(調用本類中的Go()的function)
//-------------------------------------------
public function set _time(ttt:Number):Void{
time=ttt
}
public function get _time():Number{
return(time)
}
//===========================================
private function TimeGo(){
t
if(t0==0) time--
if(time==0) {
delete onEnterFrame
_root.game_c.endGame()
}
}//倒計時代碼,當時間=0,通知游戲控制類作出endGame()的行為。
public function Go(){
t=1
time=30
onEnterFrame=TimeGo
}//初始化,并開始倒計時
}
有了前兩節的基礎,這節顯的很簡單……(感覺好像應該先教這節啊……- -……是不是難度順序顛倒了??)
下節會講最后的,也是很重要的類-游戲控制類,盡請期待~!

歡迎轉載:http://www.kanwencang.com/bangong/20161206/63923.html

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()