2.11 关卡跳转
游戏中是不是还缺少一个标题画面?现在的游戏中只有一个关卡,我们将为它添加另一个关卡,显示一个简单的标题画面,并从该关卡跳转到之前创建的游戏关卡。
步骤 01 在菜单栏中选择【File】→【New Scene】创建一个新关卡,命名为start并保存。
步骤 02 创建TitleSceen.cs脚本,代码如下:
using UnityEngine; using UnityEngine.SceneManagement; [AddComponentMenu("MyGame/TitleScreen")] public class TitleScreen : MonoBehaviour { // 响应游戏开始按钮事件 public void OnButtonGameStart() { SceneManager.LoadScene("level1"); } }
只有很少的代码,唯一的一个函数OnButtonGameStart用于响应游戏开始按钮。我们将通过Unity编辑器提供的功能将这个函数与按钮的事件关联起来。
步骤 03 将TitleSceen.cs脚本指定给场景中的摄像机作为组件。
步骤 04 首先创建UI Canvas,然后选择【UI】→【Image】创建图像UI,这里命名为Image_background。在Source Image中指定一张贴图作为背景图,这里使用资源文件中的mars.png(注意,默认mars.png是Texture类型,不能使用到UI上面),按Ctrl+D组合键将其复制,将副本转为Sprite类型,指定到UI上使用,如图2-46所示。
图2-46 指定贴图
步骤 05 添加一个标题文字,最后创建一个按钮Button_gamestart作为“开始游戏”按钮,如图2-47所示。
图2-47 标题画面
步骤 06 选择按钮Button_gamestart,然后单击On Click()下面的“+”号按钮,指定摄像机作为消息接收对象,选择TitleScreen的OnButtonGameStart函数作为响应按钮单击事件的回调函数,如图2-48所示。
图2-48 设置按钮单击事件
步骤 07 在Unity编辑器菜单栏中选择【File】→【Build Settings】,添加关卡,如图2-49所示。
图2-49 添加关卡
运行游戏,现在可以由标题界面单击“开始游戏”按钮跳转到游戏关卡中。