資源描述:
《flash游戲開發(fā)教程3》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、做游戲用到最多,同時也是FLASH里最重要的類,就是~~~~~~~~~“MovieClip類”! 鳥鳥們不知不覺的就一直在用MovieClip類,比如你有沒有經(jīng)常寫:mc.onEnterFrame.. onEnterFrame就是MovieClip類里的一個方法,只要是個MC(自動被綁上了MovieClip類),就都能用onEnterFrame。Webjx.Com 現(xiàn)在回到第一節(jié)說的那個天上掉寶地下人物接的游戲?! ∪宋镉袃蓚€:小李和鳴人 經(jīng)過分析,這兩個人物基本控制部分是一樣的,然后就區(qū)別在兩個人的各自的特殊技能不一樣?! ∮谑俏覀兛梢赃@么做: 先建個“人物基本控制.as”類
2、建個“小李.as”類,第一行一句代碼繼承“人物基本控制.as”類,然后在正文內(nèi)容里寫上小李特殊技能建個“鳴人.as”類,第一行一句代碼繼承“人物基本控制.as”類,然后在正文內(nèi)容里寫上鳴人特殊技能 見圖:Flash游戲開發(fā)教程:第三節(jié)src="http://img.ddvip.com/2008_05/1211954841_ddvip_3244.jpg"> 大家可以看到,“人物基本控制.as”類也是繼承了MovieClip類,因為要用到MovieClip類里的功能嘛~比如人物移動要用到onEnterFrame,MC._x,MC._y這點功能?! ☆惖睦^承,還可以覆蓋繼承過來類里的方法?! ?/p>
3、比如A類有move、jump、attack三個方法 我要寫個B類,也包括這三個方法,但是attack這個方法和A類的attack有點不同,而move、jump這兩個方法則和A類里的一模一樣。 于是我們寫B(tài)類,第一行先寫句話繼承了A類。然后在正文里把attack方法重寫一次,就自動覆蓋掉了繼承過來的A類的attack方法。其它的方法就不用寫了,因為直接繼承過來了?! ∽屛覀儊頁Q個思路做上面那個例子?! ≈苯訉懥恕靶±?as”類,然后讓“鳴人.as”類繼承小李類,正文里只需要把特殊技能方法重寫遍就OK了。 見圖:Flash游戲開發(fā)教程:第三節(jié)src="http://img.ddvip.co
4、m/2008_05/1211954841_ddvip_6305.jpg"> 看了那么多概念,小鳥們要想,咋還不教具體怎么寫CLASS呢? 別急啊,下節(jié)里會簡單的教些的?! ∑鋵嵨覍@種死東西教學還是比較頭大的,鳥鳥們也可以自己網(wǎng)上搜下具體CLASS撰寫格式、規(guī)矩和變量、方法類型。肯定比我教的要詳細。因為我在CLASS方面也只能算只比小鳥略微胖點點的中鳥啊,哈哈Flash游戲開發(fā)教程:第四節(jié)請先閱讀:Flash游戲開發(fā)教程:第三節(jié)?! ”緛聿幌雽戇@節(jié)的,因為這節(jié)的內(nèi)容很多書上或者網(wǎng)上資料都有,而且寫的比我要詳細正規(guī)得多。但后來想想,還是寫吧! 而且后面幾節(jié)要結(jié)合接寶的范例游戲,具體分析它
5、的幾個CLASS,所以,還是用一節(jié)把CLASS的寫法說一下??赡芪覍LASS的寫法也不是很正規(guī),有老鳥看了后,最好也能指點一下?! ∠葋韨€CLASS基本的模式?! ∥募篢ime_control.asclassTime_control{ //第一部分:聲明本CLASS要用到的變量 staticvara:Number=2; privatevarb:Number; privatevarc:Number=1; publicvard:Number; //第二部分:構(gòu)造函數(shù) functionTime_control(){ init(); } //第三部分:隱式設(shè)置-
6、獲取法 publicfunctionset_d(sss:Number):Void{ d=sss; } publicfunctionget_d():Number{ return(d); } //第四部分:私有和公有方法 privatefunctioninit(){ //一般寫點初始化的內(nèi)容 } privatefunctionaa(){ } publicfunctionbb(){ }} 如果是要繼承類,比如繼承MovieClip類,第一行就改寫成 classTime_controlextendsMovieClip
7、{ 下面簡單解釋下各個部分(我最不擅長解釋說明這類東西) CLASS類都是以 class類名稱{ 內(nèi)容 } 的形式,而且類名稱和文件名要相同?!LASS的內(nèi)容分四部分 第一部分 聲明本CLASS所用到的變量,這里要提的是,和在SWF里定義變量不同。SWF里你可以用比如a=1這種自動變量形式,而在CLASS里你必須寫明a的類型是Number,再定義變量值是1 第二部分 是CLASS的構(gòu)造函