Unity(12)-场景切换

Posted 小狐狸FM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity(12)-场景切换相关的知识,希望对你有一定的参考价值。

前言

按下按钮后切换到指定的场景中

在这里插入图片描述

其他介绍

微软官方C#函数文档

Unity官方API文档(英文)

Unity官方API文档(中文)

Unity官方用户手册(中文)

Unity游戏蛮牛API文档(中文)

Unity教程-C语言中文网

Unity用户手册-unity圣典

Unity组件手册-unity圣典

Unity脚本手册-unity圣典

上一篇笔记

Unity(11)-游戏退出实现

一、项目结构

场景1

在这里插入图片描述
在这里插入图片描述

场景2

在这里插入图片描述

项目

在这里插入图片描述

二、脚本

[1]. 添加场景

如果只在代码中填写场景的名称时,没法识别到对应的场景名称
所以需要在设置中添加一下对应的场景名称

在这里插入图片描述

点击AddOpenScenes就可以把编辑器当前的场景添加进设置中

在这里插入图片描述

我们之后就可以在代码中使用场景的名称或者是右侧的下标

在这里插入图片描述

[2]. 绑定脚本

在两个场景中分别创建一个空的物体,并绑定游戏脚本

在这里插入图片描述

在这里插入图片描述

[3]. 代码

场景的切换需要使用到下面的命名空间

using UnityEngine.SceneManagement;//场景
  • 然后定义两个方法Scene1()Scene2()
    使用SceneManager.LoadScene("场景名称")SceneManager.LoadScene(下标)来切换场景。
  • 在切换场景的时候上一个场景的资源会被删除,如果想要某个游戏对象在切换时不被删除可以使用DontDestroyOnLoad(游戏对象)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;//场景
public class change : MonoBehaviour
{
    /// <summary>
    /// 转换到场景1
    /// </summary>
    public void Scene1()
    {
        SceneManager.LoadScene("menu1");
        //方式二 SceneManager.LoadScene(0);
    }
    /// <summary>
    /// 切换到场景2
    /// </summary>
    public void Scene2()
    {
        SceneManager.LoadScene("menu2");
        //方式二 SceneManager.LoadScene(1);
    }
}

[4]. 脚本触发

我们的目标就是按下按钮后触发上一个步骤切换场景的方法。

在这里插入图片描述

Button中找到OnClick(),点击右侧的加号

在这里插入图片描述

选择之前挂载脚本的游戏对象

在这里插入图片描述
在这里插入图片描述

选择之前的change脚本下的方法,由于场景1需要切换到场景2,所以选择的是Scene2()方法

在这里插入图片描述
在这里插入图片描述

选择完毕后就可以点击场景1的按钮切换到场景2

在这里插入图片描述

另一个场景的按钮绑定的是change脚本的Scene1()方法
完成之后,场景切换的效果如下。

在这里插入图片描述

以上是关于Unity(12)-场景切换的主要内容,如果未能解决你的问题,请参考以下文章

Unity场景切换

unity3d 如何进行场景切换?

手把手教会你Unity场景切换进度条制作

UNITY5.3怎么用脚本切换场景

Unity3D 灵巧小知识点 ☀️ | Unity中如何使用代码切换场景

Reload Activity 以在 Fragment 之间重新切换