背景
这学期学校有个作业,以小组为单位,用 Unity 开发一个简单的小游戏。
我们组有 6 个人,我暂时负责开发游戏中的一个迷宫 puzzle。
其实有很多现成的工具可以用来生成迷宫,但这个作业要求所有逻辑相关代码都自己写,所以我就找了一个从零实现随机迷宫生成的教程。
看完之后发现,其实也没有想象的那么难。
生成随机迷宫
教程链接:Maze Generation Unity Tutorial
视频下面还附上了 GitHub 项目地址,可以说是非常良心了:gamedolphin/youtube_unity_maze
保存迷宫
但用视频里的方法生成随机迷宫有个问题:迷宫是在运行时生成的,在编辑模式下是不存在的。这样就不利于进一步的设计,比如往迷宫里放置敌人,之类的。
后来我搜了很久,终于找到了解决方法,就是使用 [ExecuteInEditMode]
:
[ExecuteInEditMode]
public class MazeRenderer : MonoBehaviour
{
// 略
}
这样一来,迷宫就会在编辑模式下也能生成了!