当前位置:   article > 正文

Unity关于销毁和保留物体_unity 销毁物体后界面上的图像还在

unity 销毁物体后界面上的图像还在

最近在做VR项目的时候,当我从A场景跳到B场景,但是它使用的还是A场景的手柄和眼镜,并没有把A场景的手柄和眼镜销毁,而它使用的是unity内置的一个函数,一开始通过查资料,我发现只要不勾选Persist On Load,在进入下一个场景之后,便不会再保存上一个场景的手柄和眼镜,而这种加载另外一个场景而保存前一个场景的物品,是通过Unity内置的一种销毁方式来实现的,本节就来讲一下unity里面的几种销毁和保留的方式。
这里写图片描述
方法一:Object.Destroy
public static void Destroy(Object obj, float t = 0.0F);
前面的参数是要被销毁的物体或者是组件,后面是多少时间后被销毁
使用起来非常简单
方法二:Object.DontDestroyOnLoad
public static void DontDestroyOnLoad(Object target);
其实这种销毁方式也很简单,我们可以自己做一下试验,新建一个场景A,再新建一个场景B,我们通过在A场景点击按钮,加载B场景:
这里写图片描述
同时新建一个加载的脚本LoadB,在A场景创建一个Cube什么的,作为我们加载场景之后要保存的物体,把脚本挂上去,脚本如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class LoadB : MonoBehaviour {

    private void Awake()
    {
        DontDestroyOnLoad(this.gameObject);
    }
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }
    public void LoadBScene()
    {
        SceneManager.LoadScene("B");
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

运行,可以发现我们的场景中多了一个DontDestroyOnLoad的场景
这里写图片描述
就算我们加载到下一个场景,它也是存在的,所以说,这种销毁方式特别适用于在我们切换场景后,但又还要用到上一个场景的物品的情况。
方法三:Object.DestroyImmediate
public static void DestroyImmediate(Object obj, bool allowDestroyingAssets = false);
官方解释:
This function should only be used when writing editor code since the delayed destruction will never be invoked in edit mode. In game code you should use Object.Destroy instead. Destroy is always delayed (but executed within the same frame). Use this function with care since it can destroy assets permanently! Also note that you should never iterate through arrays and destroy the elements you are iterating over. This will cause serious problems (as a general programming practice, not just in Unity).
这个方法是运用于编辑器模式下操作,一旦删除了物体,就永久都被删除,而在游戏运行时,还是建议使用Destroy()方法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/332764
推荐阅读
相关标签
  

闽ICP备14008679号