Flash游戲開發(fā)教程:第七節(jié)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-06 01:25:39 作者:佚名
我要評(píng)論
請(qǐng)先閱讀:Flash游戲開發(fā)教程:第六節(jié)
先補(bǔ)充個(gè)游戲里的結(jié)構(gòu):
_root下有三個(gè)空MC: pl,item和xs
pl這個(gè)空MC是用來attach人物的
item這個(gè)空MC是用來attach寶物的
xs這個(gè)MC是用來attach顯示得分的
為什么要這么做呢?……因?yàn)楣芾矸奖阊絶
請(qǐng)先閱讀:Flash游戲開發(fā)教程:第六節(jié)
先補(bǔ)充個(gè)游戲里的結(jié)構(gòu):
_root下有三個(gè)空MC: pl,item和xs pl這個(gè)空MC是用來attach人物的 item這個(gè)空MC是用來attach寶物的 xs這個(gè)MC是用來attach顯示得分的 為什么要這么做呢?……因?yàn)楣芾矸奖阊絶以后你會(huì)慢慢體會(huì)到的。
嚴(yán)重警告:第7課未搞懂看明白者,請(qǐng)回上節(jié)反復(fù)研究,直至搞懂。不然繼續(xù)往下看會(huì)讓你體內(nèi)真氣逆行,任、督二脈自鎖,全身猶如螞蟻咬,飯吃不下,覺睡不著,放P惡臭,對(duì)FLASH喪失學(xué)習(xí)信心……
(……)
好了,能看到這行的,說明你已經(jīng)是個(gè)消化第7節(jié)內(nèi)容的鳥了。
這一節(jié)我也話不多說,直接放代碼了。用你第7節(jié)學(xué)到的內(nèi)容自我檢驗(yàn)下。
金幣10和50共用的CLASS
class items.Jin extends MovieClip {
static var basic_speed:Number = 3; //下落基礎(chǔ)速度
public var score:Number = 10; //得分
public var speed:Number; //下落速度
private var hit:MovieClip; //聲明碰撞檢測(cè)的MC
private var depth:Number; //當(dāng)寶物被人物獲得,顯示得分的MC的深度
//---構(gòu)造函數(shù)---
function Jin() {
init();
}
//隱式設(shè)置-獲取方法
public function set _score(kkk:Number):Void {
score = kkk;
}//得分10還是50,傳入這個(gè)參數(shù)就能解決
public function _bspeed(){
basic_speed= 3;
trace(basic_speed)
}//這個(gè)要說明下,靜態(tài)變量basic_speed每實(shí)例化一個(gè)MC都會(huì)自我增加,所以基礎(chǔ)速度越來越快。這個(gè)方法是讓basic_speed變回原始的3。用于每回合開始時(shí)初始化使用。
public function set _speed(sss:Number):Void {
speed = sss;
}
//共有-私有方法
private function init() {
_x = 50 random(450);
_y = -15;
speed = basic_speed random(50)/10;//下落速度是由基礎(chǔ)速度 隨機(jī)增量
basic_speed =0.03
//trace(basic_speed)
onEnterFrame = Move;
}
private function Move() {
_y = speed;
if (_y>380) {
this.removeMovieClip();
}
/////////////////////////////////
if (hit.hitTest(_root.pl.player.hit)) {
getItem();
}
///////////////////////////////// 碰撞檢測(cè)哦~
}
public function getItem() {
_root.music_control.snd("jin");//聲音控制,以后會(huì)講到
_root.score = score;
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );//ATTACH顯示得分的MC
a.aaa.score = " " score;
a._x = _x;
a._y = _y;
this.removeMovieClip();
}
}
然后是兩個(gè)寶物的CLASS,繼承了金幣的類,只不過改寫了被人物吃到后的效果
愛心
class items.Bao1 extends items.Jin {
public function getItem() {
_root.music_control.snd("bao");
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );
a.aaa.score = "TIME";
a._x = _x;
a._y = _y;
////////
_root.time_c._time = 8;
///////調(diào)時(shí)間控制類的public方法,后面會(huì)講到
this.removeMovieClip();
}
}
五角星
class items.Bao2 extends items.Jin {
public var score:Number = 30;
public function getItem() {
//_root.score =score
_root.music_control.snd("bao");
///////
for (var i in _root.item) {
if (_root.item[i]._name.substr(0, 3) != "bao") {
_root.item[i].getItem();
}
}
_root.score = score;
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );
a.aaa.score = " " score;
a._x = _x;
a._y = _y;
///////
this.removeMovieClip();
}
}
寶物這類,和人物類有點(diǎn)相似的。
下節(jié)會(huì)把時(shí)間控制類和分?jǐn)?shù)控制類一起講掉。大家快把這節(jié)的內(nèi)容消化了吧~
先補(bǔ)充個(gè)游戲里的結(jié)構(gòu):
_root下有三個(gè)空MC: pl,item和xs pl這個(gè)空MC是用來attach人物的 item這個(gè)空MC是用來attach寶物的 xs這個(gè)MC是用來attach顯示得分的 為什么要這么做呢?……因?yàn)楣芾矸奖阊絶以后你會(huì)慢慢體會(huì)到的。
嚴(yán)重警告:第7課未搞懂看明白者,請(qǐng)回上節(jié)反復(fù)研究,直至搞懂。不然繼續(xù)往下看會(huì)讓你體內(nèi)真氣逆行,任、督二脈自鎖,全身猶如螞蟻咬,飯吃不下,覺睡不著,放P惡臭,對(duì)FLASH喪失學(xué)習(xí)信心……
(……)
好了,能看到這行的,說明你已經(jīng)是個(gè)消化第7節(jié)內(nèi)容的鳥了。
這一節(jié)我也話不多說,直接放代碼了。用你第7節(jié)學(xué)到的內(nèi)容自我檢驗(yàn)下。
金幣10和50共用的CLASS
class items.Jin extends MovieClip {
static var basic_speed:Number = 3; //下落基礎(chǔ)速度
public var score:Number = 10; //得分
public var speed:Number; //下落速度
private var hit:MovieClip; //聲明碰撞檢測(cè)的MC
private var depth:Number; //當(dāng)寶物被人物獲得,顯示得分的MC的深度
//---構(gòu)造函數(shù)---
function Jin() {
init();
}
//隱式設(shè)置-獲取方法
public function set _score(kkk:Number):Void {
score = kkk;
}//得分10還是50,傳入這個(gè)參數(shù)就能解決
public function _bspeed(){
basic_speed= 3;
trace(basic_speed)
}//這個(gè)要說明下,靜態(tài)變量basic_speed每實(shí)例化一個(gè)MC都會(huì)自我增加,所以基礎(chǔ)速度越來越快。這個(gè)方法是讓basic_speed變回原始的3。用于每回合開始時(shí)初始化使用。
public function set _speed(sss:Number):Void {
speed = sss;
}
//共有-私有方法
private function init() {
_x = 50 random(450);
_y = -15;
speed = basic_speed random(50)/10;//下落速度是由基礎(chǔ)速度 隨機(jī)增量
basic_speed =0.03
//trace(basic_speed)
onEnterFrame = Move;
}
private function Move() {
_y = speed;
if (_y>380) {
this.removeMovieClip();
}
/////////////////////////////////
if (hit.hitTest(_root.pl.player.hit)) {
getItem();
}
///////////////////////////////// 碰撞檢測(cè)哦~
}
public function getItem() {
_root.music_control.snd("jin");//聲音控制,以后會(huì)講到
_root.score = score;
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );//ATTACH顯示得分的MC
a.aaa.score = " " score;
a._x = _x;
a._y = _y;
this.removeMovieClip();
}
}
然后是兩個(gè)寶物的CLASS,繼承了金幣的類,只不過改寫了被人物吃到后的效果
愛心
class items.Bao1 extends items.Jin {
public function getItem() {
_root.music_control.snd("bao");
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );
a.aaa.score = "TIME";
a._x = _x;
a._y = _y;
////////
_root.time_c._time = 8;
///////調(diào)時(shí)間控制類的public方法,后面會(huì)講到
this.removeMovieClip();
}
}
五角星
class items.Bao2 extends items.Jin {
public var score:Number = 30;
public function getItem() {
//_root.score =score
_root.music_control.snd("bao");
///////
for (var i in _root.item) {
if (_root.item[i]._name.substr(0, 3) != "bao") {
_root.item[i].getItem();
}
}
_root.score = score;
depth = _root.xs.getNextHighestDepth();
var a:MovieClip = _root.xs.attachMovie("getScore", "getScore" depth, depth );
a.aaa.score = " " score;
a._x = _x;
a._y = _y;
///////
this.removeMovieClip();
}
}
寶物這類,和人物類有點(diǎn)相似的。
下節(jié)會(huì)把時(shí)間控制類和分?jǐn)?shù)控制類一起講掉。大家快把這節(jié)的內(nèi)容消化了吧~
相關(guān)文章

flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享
flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19
Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友2018-03-11
flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡(jiǎn)單的例子,需要的朋友可以參考下http://www.fzitv.net/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2018-01-25
Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?
本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡(jiǎn)單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12
Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?
本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18
Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11
Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?
Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下2017-05-23
Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2017-04-23











