准备做一个塔防游戏,游戏中存在十几个关卡,每个关卡有不通的地图和生成不同的敌人,游戏中的炮塔等其他元素是通用的。现在有2个思路,但是做起来总觉得有些问题和困惑,向大家请教下。一种想法是把不通关卡全部放到一个场景里,通用的精灵共用,不通用的到关卡开启时使用,但是存在一个问题是一个场景精灵过多,而且假设中间有关卡玩家过不去重新开始中间关卡逻辑又挺复杂。
另一个想法是一个关卡一个场景,但是有很多通用的精灵每次都要重复放到场景里,还有很多通用的按钮每次都要重新做一遍,场景直接的公有变量好像还不能传递,真是不知道哪一种合适,如何解决其中的问题,或者有更好的办法去操作?
还没尝试过做塔防游戏,但可以就自己的作品在多关卡设计方面浅析一下,抛砖引玉吧。
首先如果不是结构性的根本不同,建议单场景来实现多关卡,关于场景内背景和精灵元素方面,只要预先设计好加载逻辑,则关卡变化只需要一个、或多个表格即可搞定。
本作的空域战场共有7个关卡都在同一场景,其中背景根据当前关卡序号来决定,场景内的精灵单位按一套设定规则来加载:以克隆体形式登场并采用不同的对象数据来存贮相应属性。 每关结束后清空对象数据、且在下一关开始前先重启场景刷掉克隆精灵单位。 这样的话,当构建场景的逻辑没有瑕疵的时候,更换关卡成了一件极其简单的事情。
如图,每一关的各种精灵单位按特定描述方式存放在表格中,再通过相应的加载规则呈现在场景画面内,更换关卡内容只需改变一下待加载表格,寥寥几笔就“面目全非”。