Unity3d 拆下Don';装载时不损坏
大家好,我正在制作一个基于比萨饼菜单的游戏,我的menuCard场景中有许多对象,它们在加载时没有销毁,因此我可以将它们移动到下一个屏幕,但当我想回到menuCard场景时,我不希望加载时没有销毁的对象 菜单卡=>我的所有项目都在哪里Unity3d 拆下Don';装载时不损坏,unity3d,Unity3d,大家好,我正在制作一个基于比萨饼菜单的游戏,我的menuCard场景中有许多对象,它们在加载时没有销毁,因此我可以将它们移动到下一个屏幕,但当我想回到menuCard场景时,我不希望加载时没有销毁的对象 菜单卡=>我的所有项目都在哪里 场景1=>我想将它们移动到下一个屏幕。不要尝试取消设置DontDestroyOnLoad。将它们拆分为各自的场景,并首先从menuCard场景中分别加载它们。方法之一是在DontDestroyOnLoad实例上保留引用,并在创建时删除重复项。只需将该脚本添加到场景
场景1=>我想将它们移动到下一个屏幕。不要尝试取消设置DontDestroyOnLoad。将它们拆分为各自的场景,并首先从menuCard场景中分别加载它们。方法之一是在DontDestroyOnLoad实例上保留引用,并在创建时删除重复项。只需将该脚本添加到场景中不可销毁的对象,并在inspector字段中设置唯一id
公共类DontDestroyOnLoad:MonoBehavior
{
[SerializeField]字符串\u id;
公共静态DontDestroyOnLoad Get(字符串id)
{
var instances=FindObjectsOfType();
返回instances.FirstOrDefault(i=>i.\u id==id);
}
无效唤醒()
{
if(string.IsNullOrEmpty(_id))
{
_id=Guid.NewGuid().ToString();
}
var instance=Get(_id);
if(instance!=null&&instance!=this)
{
销毁(instance.gameObject);
}
DontDestroyOnLoad(游戏对象);
}
}