Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
C# 奇怪的统一预制行为?_C#_Unity3d - Fatal编程技术网

C# 奇怪的统一预制行为?

C# 奇怪的统一预制行为?,c#,unity3d,C#,Unity3d,在场景开始时,脚本生成5个预制克隆,其中包括: 一块带碰撞探测器的小岩石和一块本身包括一个精灵的大岩石。为了更好地发挥想象力,我提供了一张图片: 正如你所看到的,岩石中的大岩石元素在预制件中正确连接 每当我想使用Destroy(Big_rock)时,它实际上会从下一个预制件中销毁Big_rock,我真的不知道它为什么会这样做。问题似乎是在实例化BigRock时没有更改引用。 BigRock,作为一个预置,与生成的游戏对象不同。您应该有第二个变量引用新生成的岩石 请记住,第一个实例在场景中不存

在场景开始时,脚本生成5个预制克隆,其中包括: 一块带碰撞探测器的小岩石和一块本身包括一个精灵的大岩石。为了更好地发挥想象力,我提供了一张图片:

正如你所看到的,岩石中的大岩石元素在预制件中正确连接


每当我想使用Destroy(Big_rock)时,它实际上会从下一个预制件中销毁Big_rock,我真的不知道它为什么会这样做。

问题似乎是在实例化BigRock时没有更改引用。 BigRock,作为一个预置,与生成的游戏对象不同。您应该有第二个变量引用新生成的岩石

请记住,第一个实例在场景中不存在,因此应保存在场景中实例化的实例

//这将是对预置的引用
公众游戏对象大石;
//这将是对新生成的游戏对象的引用
私人游戏对象产生了大石头;
私人岩石()
{
GameObject GameObjectThatWejustsprowned=实例化(大石头);
//我们将引用设置为生成的引用
繁殖的大岩石=我们刚刚繁殖的游戏对象;
}
公共岩石
{
//我们摧毁了一个产卵的
摧毁(产生大石头);
}

请添加您的代码。。我们怎么知道那里发生了什么?我的代码实际上只是销毁(Big_rock),正如我所说的,问题不在于我的代码,而是为什么unity会这样,为什么它会从下一个预制克隆而不是它自己的克隆中删除某些东西?这些实例在哪里?那个参考集是什么?“Unity behaving strange”有时当然会发生,但几乎总是在设置或代码中出错;)