Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 拆下Don';装载时不损坏_Unity3d - Fatal编程技术网

Unity3d 拆下Don';装载时不损坏

Unity3d 拆下Don';装载时不损坏,unity3d,Unity3d,大家好,我正在制作一个基于比萨饼菜单的游戏,我的menuCard场景中有许多对象,它们在加载时没有销毁,因此我可以将它们移动到下一个屏幕,但当我想回到menuCard场景时,我不希望加载时没有销毁的对象 菜单卡=>我的所有项目都在哪里 场景1=>我想将它们移动到下一个屏幕。不要尝试取消设置DontDestroyOnLoad。将它们拆分为各自的场景,并首先从menuCard场景中分别加载它们。方法之一是在DontDestroyOnLoad实例上保留引用,并在创建时删除重复项。只需将该脚本添加到场景

大家好,我正在制作一个基于比萨饼菜单的游戏,我的menuCard场景中有许多对象,它们在加载时没有销毁,因此我可以将它们移动到下一个屏幕,但当我想回到menuCard场景时,我不希望加载时没有销毁的对象

菜单卡=>我的所有项目都在哪里
场景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(游戏对象);
}
}