Unity新项目如何快速理清顶层代码结构
- 半路上手新项目时弄懂scene切换流程是有必要的,scene切换可以说是unity最上层的代码资源结构
思路
- 首先我们在入口scene(第一个scene)中添加新的GameObject,绑定脚本,每帧打印当前scene的名字,并防止在scene切换时销毁
- 根据打印输出的scene名字,在代码中搜索
LoadLevel
- 如果
LoadLevel
有一个专门的脚本管理器封装,那么查看被调用位置即得知scene切换入口;如果LoadLevel
分布在脚本中,则被调用位置即为切换入口 - 找到切换入口之后,从入口scene开始,分别打开每个scene,并运行。查看运行前后Hierarchy中的GameObject变化,即可知道每个scene初始化时做了什么,再查看scene中脚本的awake和start函数
- 这样一来,代码的顶层结构即可得到,可根据需要再继续细查每一个功能模块入口。
代码示例
-
以下是打印当前scene的名字的脚本
public class test : MonoBehaviour { private AsyncOperation async; void Start () { DontDestroyOnLoad(this); } void Update () { Debug.Log(Application.loadedLevelName); } }