我正在阅读一篇关于创建多层次的教程,下面真的很关心我应该如何去做这件事。多层次
为每个关卡创建一个类似乎很自然,每个类别 都会延伸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