Unity(13)-场景切换,保留资源
Posted 小狐狸FM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity(13)-场景切换,保留资源相关的知识,希望对你有一定的参考价值。
前言
在切换场景的时候会删除上一个场景的所有资源,所以需要给需要的游戏对象上挂载脚本,从而保留游戏对象。
其他介绍
上一篇笔记
一、项目结构
场景1
场景2
项目
二、脚本
[1]. 场景切换
添加场景到设置中
场景切换的脚本如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Change : MonoBehaviour
{
/// <summary>
/// 切换到场景2
/// </summary>
public void scene2()
{
SceneManager.LoadScene("Menu2");
}
}
然后在按钮上绑定场景切换的脚本
[2]. 资源保留
创建了一个空的资源
Player
作为需要保留的资源
在
Start
中使用函数DontDestroyOnLoad()
,传入当前挂载对象
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Keep : MonoBehaviour
{
private void Start()
{
DontDestroyOnLoad(gameObject);//在加载新场景时不销毁脚本挂载的对象
//方式二 DontDestroyOnLoad(this.gameObject);
}
}
把脚本挂载到需要保留的资源上
最终效果如下,被脚本挂载的
Player
对象被放置到了DontDestroyOnLoad
中
在场景2
中也会存在DontDestroyOnLoad
如果DontDestroyOnLoad
没有被删除,那么再切换到其他的场景时里面的资源仍然可以存在。
以上是关于Unity(13)-场景切换,保留资源的主要内容,如果未能解决你的问题,请参考以下文章