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
C# GameObject.FindGameObjectsWithTag()不工作_C#_Unity3d - Fatal编程技术网

C# GameObject.FindGameObjectsWithTag()不工作

C# GameObject.FindGameObjectsWithTag()不工作,c#,unity3d,C#,Unity3d,我试图找到所有带有“守卫”标签的游戏对象。出于某种原因,这是行不通的。我已经用其他标签试过了,我知道有些对象的标签是“Guard” 我的代码 GameObject[] guards; void Start() { guards = GameObject.FindGameObjectsWithTag("Guard"); print(guards + name); } 我知道这可能真的很简单,但打印它总是导致一个空数组。我是Unity初学者,非常感谢您的帮助。谢谢!:) 你怎么知

我试图找到所有带有“守卫”标签的游戏对象。出于某种原因,这是行不通的。我已经用其他标签试过了,我知道有些对象的标签是“Guard”

我的代码

GameObject[] guards;

void Start()
{
    guards = GameObject.FindGameObjectsWithTag("Guard");
    print(guards + name);
}

我知道这可能真的很简单,但打印它总是导致一个空数组。我是Unity初学者,非常感谢您的帮助。谢谢!:)

你怎么知道它是空的

如果您的意见是基于打印输出的,那么您就错了。Print总是只抛出一种类型的guards变量和该脚本所附加到的游戏对象的名称。如果你想检查找到的游戏对象的数量,你应该使用guards.Length或者公开一个变量,这样你就可以在运行时从检查器中看到它

public GameObject[] guards;

void Start ()
{
    guards = GameObject.FindGameObjectsWithTag("Guard");
    print(guards.Length);
}

我遇到了一个类似的问题,我试图从预置中获取标记,但还没有实例化它们


场景中是否有包含“警卫”标记的对象?

带有该标记的游戏对象是否处于活动状态?调用start时它们是否也存在?