我正在Flash中製作格鬥遊戲,當我將所有東西都運行時,我錯過了一些東西:勝利/失敗屏幕。從邏輯上講,我知道該怎麼做:一個as和一個fla之間的EventDispatcher?
if character.hp < 0
{
character.dead = true;
dispatchevent("death", event)
}
我的問題是,我不知道如何編碼它。我知道我會使用兩個類和我的兩個.fla文件(除非我錯了)。
我有兩個在這裏播放的.fla文件:Menu.fla
文件和Arena.fla
文件。 Menu.fla
包含遊戲,選項,角色選擇屏幕等的整個導航,並且當玩家參與戰鬥時,它加載僅包含背景(取決於所選階段)的Arena.fla
文件和用於現在只設置爲一幀的長度。對於Arena.fla
,真正的行爲發生在我的課堂上,但從邏輯上講,我只需要HP.as
和Character.as
。
在Character.as
,我已經宣佈了以下變量:
var isDead:Boolean = false; //is character dead?
在HP.as
,相信我應該具備以下條件:
if(currentHp<0)
{
currentHp = 0;
character.isDead = true; //declared as var `character:Object;`
EventDispatcher.dispatchEventListener("playerDead", playerDead);
}
最後,在Arena.fla
,我希望能夠到檢測上述事件監聽者,並簡單地移動到第二幀,該第二幀將以「播放器一有效」或「播放器一失敗」的樣式顯示消息,其中按鈕將允許我返回到選擇的字符在屏幕上。這是我卡住的第一部分:如何檢測我的主.fla文件中的調度事件偵聽器?第二,如果玩家點擊了「CONTINUE」按鈕,無論玩家贏了還是輸了,那麼我的Menu.fla
(加載Arena.swf
)怎麼能檢測到這個點擊事件,卸載遊戲並返回到字符選擇屏幕?
非常感謝您的幫助。我意識到這是很多文字,但它是最具描述性的我可以。如果您對我的問題有任何疑問或需要澄清,請隨時發言。
-Christopher
謝謝你的幫助,它讓我走上了正確的方向。 – 2010-03-31 15:27:04