Flash 腳本游戲開發(fā)教程第八課
2020-07-17 13:25:12
供稿:網(wǎng)友
范例接寶游戲中得分顯示類和時(shí)間控制類的CLASS講解
事實(shí)上這兩部分比較簡(jiǎn)單
所以并在一起講解了
講解前先點(diǎn)開FLA文件,把這兩個(gè)MC看看,對(duì)MC構(gòu)造了解了,才能寫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
//構(gòu)造函數(shù)
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);
}
}
}
}
原理很簡(jiǎn)單,就是讓這個(gè)MC一直onEnterFrame著,按照總得分來不斷操控MC里的6個(gè)數(shù)字MC變化
仔細(xì)思考下Control()里的代碼,想通了其實(shí)很簡(jiǎn)單哦~~
不多說了,懂了后就跟我看時(shí)間控制類的(不懂就繼續(xù)看,直到看懂為止)
下面是時(shí)間控制類:
class game.Time_control extends MovieClip{
private var t:Number
public var time:Number
//------------------------------------------
/*
function Time_control(){
init()
}
*/這段被注銷掉了,因?yàn)槲也灰怀霈F(xiàn)在舞臺(tái)就開始倒計(jì)時(shí)。什么時(shí)候倒計(jì)時(shí),游戲控制類會(huì)給本類發(fā)出命令(調(diào)用本類中的Go()的function)
//-------------------------------------------
public function set _time(ttt:Number):Void{
time=ttt
}
public function get _time():Number{
return(time)
}
//===========================================
private function TimeGo(){
t++
if(t%30==0) time--
if(time==0) {
delete onEnterFrame
_root.game_c.endGame()
}
}//倒計(jì)時(shí)代碼,當(dāng)時(shí)間=0,通知游戲控制類作出endGame()的行為。
public function Go(){
t=1
time=30
onEnterFrame=TimeGo
}//初始化,并開始倒計(jì)時(shí)
}
有了前兩節(jié)的基礎(chǔ),這節(jié)顯的很簡(jiǎn)單……(感覺好像應(yīng)該先教這節(jié)啊……- -……是不是難度順序顛倒了??)
下節(jié)會(huì)講最后的,也是很重要的類-游戲控制類,盡請(qǐng)期待~!