范例接寶游戲中人物類的CLASS講解
首先請下載源文件:CLASS.rar
下載好,打開一看,如下:
我把.as類文件分門別類的存放,這樣看上去清晰,更重要的是別人看了會覺得我很專業(yè)。
- 目錄player里有:
- 目錄items里有:
- 目錄game里有:
- Game_control.as
- Score_view.as
- Time_control.as
.as具體意義看文件名就應(yīng)該能知道,這里要說的是,一般默認(rèn)的規(guī)則,放CLASS目錄用小寫字母命名,.as的類文件名的首字母用大寫
這節(jié)詳細(xì)講下人物類的CLASS,首先是Player_1.as,人物小李的類 首先去源文件里點(diǎn)進(jìn)人物1的MC,看下結(jié)構(gòu)。 由兩幀組成,一是“stand”,二是“run” 人物上面有一層有個圓形的MC,我把它命名為hit,靠這個mc來做碰撞檢測。 金幣里面也有這個名叫hit的MC,我判斷人物和金幣是不是相碰是用這個語句的: 金幣MC.hit.hitTest(人物MC.hit) 傳統(tǒng)碰撞檢測都這么做。
又開始扯話題了,馬上拉回來 現(xiàn)在拿出Player_1.as的代碼
class player.Player_1 extends MovieClip { private var hit:MovieClip; //人物MC里出現(xiàn)的東西都要聲明,hit這個MC也不例外 public var speed:Number;//這個是人物移動的速度 //構(gòu)造函數(shù) function Player_1() { init();//初始化的人物打包在init()里了 } //隱式設(shè)置-獲取法 public function set _speed(sss:Number):Void { speed = sss; }//可供外界用MC._speed=X修改speed的數(shù)值 public function get _speed():Number { return (speed); }//可供外界讀取speed的數(shù)值 //私-公有方法 //---初始化方法--- private function init() { _y = 310; _x = 300;//人物來到舞臺后的初始位置 speed = 6;//移動速度 onEnterFrame = Move;//人物來到舞臺后就開始o(jì)nEnterFrame,內(nèi)容見Move這個function } //---人物移動--- private function Move() { if (Key.isDown(37)) { _xscale = -100; _x -= speed; this.gotoAndStop("run"); } else if (Key.isDown(39)) { _xscale = 100; _x += speed; this.gotoAndStop("run"); } else { this.gotoAndStop("stand"); } //以上是左右鍵的定義,應(yīng)該看得懂吧? if (Key.isDown(38)) { speed = 12; } else { speed = 6; } //以上是上鍵的定義,按著后速度就加倍咯 range();//范圍定義,內(nèi)容見下面 } //---限定移動范圍--- private function range() { if (_x>540) { _x = 540; } if (_x<10) { _x = 10; }//不讓人物出界 } }
這個CLASS文件就是這樣。按照前幾節(jié)我說的結(jié)構(gòu),鳥鳥們對照這看下。能不能看懂。這里要說的是,第一行的player.Player_1,其中前面的player表示路徑“.”就相當(dāng)于"\",player.Player_1就相當(dāng)于player\Player_1,關(guān)聯(lián)到MC的時候也要這么寫的。
小李的CLASS寫完了 然后寫鳴人的CLASS
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 下一頁 接寶游戲中人物類的CLASS講解 [2]
◎進(jìn)入論壇RIA設(shè)計(jì)與應(yīng)用版塊參加討論
|