DontDestroyOnLoad重复创建问题解决办法

方案一:

使用静态构造,把所有需要保留的对象挂载在名为“ Global ”的空对象下,并设置 tag 为“ Global ”,再把一下代码脚本挂载在 Global 上,只有两句代码:



public class Global:MonoBehaviour

{

    public static Globalinstance;

    static Global()

    {

        GameObjectgo=newGameObject("Globa");

        DontDestroyOnLoad(go);

        instance=go.AddComponent();

    }

}

方案二:判断是否存在这个名字的游戏对象,若有则销毁它



private void Awake()

    {

        if (GameObject.FindGameObjectsWithTag("Global").Length>1)

            Destroy(this.gameObject);

        else

            DontDestroyOnLoad(this.gameObject);

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 根据不同子类随机排序取前n条记录,数据结构如下: Id,category,name,template,sub_ca...
    大小多多阅读 1,225评论 0 0
  • 可能是在之前拉取代码时,没有解决完代码冲突,解决方案如下: 进入你的项目目录,我的目录是:E:\HX-projec...
    忆丶往阅读 6,286评论 0 1
  • 如果我是一个平凡人,未来只能够做个中层领导,偶尔去打球游泳,旅游。如果我只是一个平凡人,只能在自己的岗位上做做力所...
    击空留影阅读 3,529评论 1 0
  • valueForKeyPath 很多人对这个方法不是很理解,实际上,这可以扩展到 KVC 中的高级用法上去。该方法...
    ikonan阅读 3,237评论 0 0
  • 今天讲到 设计要有文化,就想到这个app 故宫博物馆出品 这款app没有将展品做成列表供人随时查看,而是用这种"每...
    妖精王国的猫小姐阅读 3,633评论 6 3

友情链接更多精彩内容