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

Unity 小科普

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

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

Unity小知识点学习

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

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

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

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

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

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

Object.DontDestroyOnLoad(Object)

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

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

完整代码在这:

public class UnityTest1 : MonoBehaviour
{
    public Button button1;
    void Start()
    {
        DontDestroyOnLoad(this);
        button1.onClick.AddListener(SwitchScene);
    }
    void SwitchScene()
    {
        SceneManager.LoadScene("Scene2");
    } 
}

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


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

上一篇:Havok物理引擎与Unity3D游戏的结合


下一篇:Unity3d项目里面的C#代码封装成Dll文件