Unity 3D\2D手机游戏开发:从学习到产品(第3版)
上QQ阅读APP看书,第一时间看更新

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 添加关卡

运行游戏,现在可以由标题界面单击“开始游戏”按钮跳转到游戏关卡中。