【Unity3D 灵巧小知识点】 ☀️ | 切换场景后保留上个场景中的游戏物体不被销毁

2022-08-31 09:46:35 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:

  • Unity是 实时3D互动内容创作和运营平台 。
  • 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!

Unity小知识点学习

切换场景后保留上个场景中的游戏物体不被销毁

很多游戏和程序都不止在一个场景中运行,就需要进行场景视图的切换,在Unity中实现场景切换的方法非常简单,几句话就能说清楚

但是在Unity中进行场景交换以后,上一个场景中的所有游戏对象默认都会被销毁

有时候我们并不希望某些用于控制全局的游戏对象或者脚本被销毁

所以要对某个游戏对象通过代码进行控制切换场景时不被销毁

方法也很简单,代码如下:

代码语言:javascript复制
Object.DontDestroyOnLoad(Object)

只要在脚本中执行一次这个方法,并将不想被切换场景时销毁的对象加进去即可

效果如下:

完整代码在这:

代码语言:javascript复制
public class UnityTest1 : MonoBehaviour
{ 
   
    public Button button1;
    void Start()
    { 
   
        DontDestroyOnLoad(this);
        button1.onClick.AddListener(SwitchScene);
    }
    void SwitchScene()
    { 
   
        SceneManager.LoadScene("Scene2");
    } 
}

这样执行该方法后,游戏对象就不会随着场景切换而销毁了


发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143789.html原文链接:https://javaforall.cn

0 人点赞