Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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,我有两个不同的脚本连接到两个不同的游戏对象 其中一个实例化了一堆游戏OBEJCT,我想让第二个销毁它们 code1: public static volatile GameObject newObj; public GameObject go; newObj = GameObject.Instantiate(go); newObj.tag = "mytag"; Code 2: GameObject[] all_cloned_prefabs

我有两个不同的脚本连接到两个不同的游戏对象

其中一个实例化了一堆游戏OBEJCT,我想让第二个销毁它们

code1: 

    public static volatile GameObject newObj;
    public GameObject go;

    newObj = GameObject.Instantiate(go);
    newObj.tag = "mytag";



Code 2:
      GameObject[] all_cloned_prefabs = GameObject.FindGameObjectsWithTag("mytag");

        foreach (var AllPrefabs in all_cloned_prefabs)
        {
            Destroy(AllPrefabs);
        }

当我运行代码2时(比方说,通过按下GUI上的按钮,它不会破坏我在屏幕上创建的对象。我做错了什么?

很难理解您在使用
public static volatile GameObject newObj;
的第一个代码中试图做什么,您显示的代码的其他部分没有使用它

第二个代码看起来不错,但可能出现的错误是:

  • 要销毁的对象处于非活动状态(
    FindGameObjectsWithTag
    不会返回非活动的游戏对象)
  • 您没有在中创建标记“mytag”

尝试查看
all_cloned_prefacts
数组的内容,看看它是否真的包含任何内容。

使用
public static volatile GameObject newObj;
很难理解您在第一段代码中试图做什么,您显示的代码的其他部分没有使用它

第二个代码看起来不错,但可能出现的错误是:

  • 要销毁的对象处于非活动状态(
    FindGameObjectsWithTag
    不会返回非活动的游戏对象)
  • 您没有在中创建标记“mytag”

尝试查看
all\u cloned\u prefables
数组的内容,看看它是否真的包含任何内容。

我将所有对象放在一个列表中,使列表
public static volatile prefable1
。从第二个脚本访问它。然后销毁它们 它工作得很好

   foreach (GameObject obj1 in script1.prefab1)
    {
        Destroy(obj1);
    }

我将所有对象放在一个列表中,使列表
成为公共静态列表1
。从第二个脚本访问它。然后销毁它们 它工作得很好

   foreach (GameObject obj1 in script1.prefab1)
    {
        Destroy(obj1);
    }

确定这些对象被正确创建了吗?你确定这些对象被正确创建了吗?第一个脚本被调用了吗?很难判断只有几行代码和很少甚至没有上下文有什么问题。volatile关键字有什么问题?确定这些对象被正确创建了吗?你确定有任何异常吗?是第一个脚本吗甚至一开始就被调用?很难判断只有几行代码和很少甚至没有上下文有什么问题。volatile关键字有什么问题?我最初把它作为静态volatile,这样我就可以从另一个脚本访问它并直接访问它:Destroy(code1.newObj)这不起作用,我不知道你实现的细节,但这听起来是个坏主意。如果你想跟踪一组游戏对象,让另一个脚本保存一个列表(数组)还有,你解决了你的问题吗?我最初把它作为静态volatile,这样我就可以从另一个脚本直接访问它:Destroy(code1.newObj)这不起作用。我不知道你的实现的细节,但这听起来是个坏主意。如果你想跟踪一组游戏对象,让另一个脚本保存这些游戏对象的列表(数组)。另外,你是否解决了这个问题?