游戏中的开始界面到游戏界面的切换,以及游戏退出如何在Unity3D中实现?
基本资源
需要在Assets下建立两个场景(右键->Create->Scene)一个场景作为开始菜单,另一个场景作为游戏界面。
在开始场景中新建画布(Canvas),画布中新建两个按钮(Button)。一个按钮中文本为“开始游戏”,另一个为“退出游戏”。
脚本
Assets下新建脚本MainMenu,用来管理场景切换。
需要的两个命名空间分别为using UnityEngine;
和using UnityEngine.SceneManagement;
。其中,using UnityEngine.SceneManagement;
用来管理场景。
删除不必要的Start()和Update()函数,然后在MainMenu类中添加如下代码:
1 | //用这个函数触发切换到场景列表中下一个场景 |
调整场景列表和按钮函数
现在基本的场景和脚本都准备完毕。剩下的操作为:
- 将MainMenu脚本拖拽至开始菜单场景的MainCamera上
- Unity中打开File->Build Settings,将游戏开始场景拖拽至Scenes In Build窗口,注意开始场景的编号应比游戏场景多1
- 给开始按钮添加函数PlayGame,给退出按钮添加QuitGame函数(在监视面板的Button中将MainCamera拖至On Click内,选择需要的函数)
完成,现在运行游戏后点击“开始游戏”,场景将切换至游戏场景。
想要从游戏界面回到菜单,则函数类似,只不过变成场景编号-1。
注意,Application.Quit()的效果只能在Build之后查看,Unity编辑器中没有效果(Unity编辑器中只有我们添加的控制台语句)。