如何以最好的方式实现游戏关卡
大家应该对关卡的概念都很熟悉,所以我不在这里做解释了。设计关卡的难点 是决定用什么样的方式来设计基于关卡的游戏。在cocos2d里,你可以选择每一个关卡都使用一个场景,或者在同一个场景里设置多个层作为关卡。选择哪种
方式取决于关卡在你游戏中的作用。
每一个关卡都使用一个场景
最直接的方法是每一个关卡都使用一个单独的场景。你可以为每一个关卡创建 一个新的场景类(Scene class),或者通过把关卡号码或其它与关卡相关的信 息传递给一个通用的关卡场景类(LevelScene class)用于加载正确的关卡数 据。
这个方法很适合每个关卡之间没有多大关系,关卡可以清晰地分开的情况。你
可能需要保存玩家的得分和当前剩余的生命数,除此之外不需要再保存其它的
信息了。这种情况下的用户界面可能是静态的,或者最多只有一个暂停按钮。
同一个场景里设置多个层作为关卡
如果你有一个复杂的用户界面,并且在关卡转换时不允许重置游戏场景的话, 你就需要在同一个场景里用不同的层来加载和显示不同的关卡。在转换关卡时, 你可能会将游戏角色和其它的游戏物体保持在同一个位置。
你可能使用几个变量来保存当前的游戏状态信息和用户界面设置信息,比如说
仓库里的物品。如果你使用多个场景作为关卡的话,在转换关卡的时候,你就
需要做很多工作来保存和重置游戏设置,还有重置所有的视觉元素。
这个方式很适合物品寻找类或者冒险类游戏,因为玩家需要在不同的房间之间
移动。特别是你想在替换关卡内容的过程中使用动画的情况下。