多个级别



我正在阅读有关创建多个关卡的教程,下面对我应该如何做到这一点非常感兴趣。

每个

级别制作一个类似乎是很自然的,每个类 扩展避免游戏,并使用事件在它们之间切换。所以,我们 可能有名为 AvoiderGameLevelOne、AvoiderGameLevelTwo、 等等,并让每个人在以下情况下发射一个"NavigationEvent.NEXT_LEVEL" 适当。大概然后文档类会侦听这个 事件,当它听到它时,它将运行"播放屏幕 = 新 AvoiderGameLevelTwo()"(或任何合适的级别),并通过 通过所有信息,如分数和时间到这个新的 播放屏幕实例。

我不完全确定如何做到这一点。我把我的舞台,这是一个叫做 level1、level2 等的类中的图块数组,并让它扩展了我的主要类。为了检查一切是否正常,我在main中添加了一个名为levelArray的公共静态var,这是一个空白数组。然后在 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 显示为空白。可能是因为两个类没有正确通信?如果我以正确的方式接近这一点,有什么想法吗?

我不知道你的概念的其余部分是否合理,但我认为语法对于你展示的部分来说是错误的。 尝试:

package  {
    public class Level1 extends Main {
        public var floor1:Array = new Array( [2,1,1,1,1,1,2],
                                             [1,1,1,1,1,1,1],
                                             [1,1,1,2,1,1,1],
                                             [1,1,1,1,1,1,1],
                                             [1,1,1,2,1,1,1],
                                             [1,1,1,1,1,1,1],
                                             [2,1,1,1,1,1,2]
                                           );
        public function Level1() {
            Main.levelArray = floor1;
        }
    }
}

编辑:如果每个级别唯一不同的是形成地板的数组,您可以考虑这样一个事实,即每个级别不需要一个新类,只需要一个新数组。 您可以为类中的每个级别定义数组,该数组super到此级别,然后只需在每个进度中替换它们。

相关内容

  • 没有找到相关文章

最新更新