![Unity 3D\2D手机游戏开发:从学习到产品(第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/490/26943490/b_26943490.jpg)
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所示。
![](https://epubservercos.yuewen.com/6A4FC9/15367245604191906/epubprivate/OEBPS/Images/figure_0064_0003.jpg?sign=1738952680-sJzbfoWKfgyneRPm1KtuLAPHtau7PBcL-0-eb9eef56018ef1eba5fb05528a9efbf1)
图2-46 指定贴图
步骤 05 添加一个标题文字,最后创建一个按钮Button_gamestart作为“开始游戏”按钮,如图2-47所示。
![](https://epubservercos.yuewen.com/6A4FC9/15367245604191906/epubprivate/OEBPS/Images/figure_0064_0005.jpg?sign=1738952680-C4NechdINC4wpnhQE5TxD5i2P3LXT3cX-0-610bd5f178fb76dc0e9c2588f86bf2b6)
图2-47 标题画面
步骤 06 选择按钮Button_gamestart,然后单击On Click()下面的“+”号按钮,指定摄像机作为消息接收对象,选择TitleScreen的OnButtonGameStart函数作为响应按钮单击事件的回调函数,如图2-48所示。
![](https://epubservercos.yuewen.com/6A4FC9/15367245604191906/epubprivate/OEBPS/Images/figure_0065_0001.jpg?sign=1738952680-tN1uKqJBniAE8li9F5RqKBmJiOUhQyJt-0-81062e7f556d648824467bef87bb1e69)
图2-48 设置按钮单击事件
步骤 07 在Unity编辑器菜单栏中选择【File】→【Build Settings】,添加关卡,如图2-49所示。
![](https://epubservercos.yuewen.com/6A4FC9/15367245604191906/epubprivate/OEBPS/Images/figure_0065_0002.jpg?sign=1738952680-vamgFWasegGSmYPy6mPTlTB9Q6iiKPhK-0-e5a47cd8659891401c6d17e3e101b396)
图2-49 添加关卡
运行游戏,现在可以由标题界面单击“开始游戏”按钮跳转到游戏关卡中。