我正在閱讀一篇關於創建多層次的教程,下面真的很關心我應該如何去做這件事。多層次
爲每個關卡創建一個類似乎很自然,每個類別 都會延伸AvoiderGame,並使用事件在它們之間切換。因此,我們 可能有名爲AvoiderGameLevelOne,AvoiderGameLevelTwo, 等的類,並且當 適當時,讓每個類都觸發「NavigationEvent.NEXT_LEVEL」。據推測,文檔類會監聽這個事件,當它聽到它時,它會運行「playScreen = new AvoiderGameLevelTwo()」(或者哪個級別是合適的),並通過 通過所有信息,例如分數和時間到這個新的 playScreen實例。
我不完全確定如何去做這件事。我把我的舞臺放置在一個名爲level1,level2等的類中,並且讓它擴展我的主類。爲了檢查一切是否正常,我在main中添加了一個名爲levelArray的公共靜態變量,這是一個空白數組。然後在level1中,我將數組推入了levelArray。
所以我的水平1級
package {
public class Level1 extends Main {
public var floor1:Array = new Array();
floor1[0] = [2,1,1,1,1,1,2];
floor1[1] = [1,1,1,1,1,1,1];
floor1[2] = [1,1,1,2,1,1,1];
floor1[3] = [1,1,1,1,1,1,1];
floor1[4] = [1,1,1,2,1,1,1];
floor1[5] = [1,1,1,1,1,1,1];
floor1[6] = [2,1,1,1,1,1,2];
public function Level1() {
Main.levelArray.push(floor1);
}
}
}
似乎並不奏效。 levelArray顯示爲空白。可能是因爲這兩個班級沒有正確溝通?任何想法,如果我正在接近這個正確的方式?
與你的問題並不真正相關,但我不認爲你想讓你的Level類擴展主要是你嗎?我的意思是'Level1'不是'Main'的一種類型嗎? – Cadin
是的。我只是認爲有這個參考主要可能讓他們溝通。我應該只是擴展MovieClip嗎? – Bindlestick
根據級別類別的複雜程度,您可能需要創建一個基礎級別類並讓所有級別擴展該級別。 Level可以具有用於與Level對象進行通信的通用方法。很可能你會在Main中實例化一個新的Level並且以這種方式與之通信。 Level類不一定需要擴展任何東西(除非它實際上是一個MovieClip)。 – Cadin