为什么在向游戏对象添加新标签时出现异常标签:未定义 B?
Why when adding new tag to gameobject i'm getting exception Tag: B is not defined?
public void generateObjectOnTerrain()
{
generatedObjects = new List<GameObject>();
for (int i = 0; i < objectsToInstantiate; i++)
{
//Generate random x,z,y position on the terrain
float randX = UnityEngine.Random.Range(xTerrainPos, xTerrainPos + terrainWidth);
float randZ = UnityEngine.Random.Range(zTerrainPos, zTerrainPos + terrainLength);
float yVal = Terrain.activeTerrain.SampleHeight(new Vector3(randX, 0, randZ));
//Generate random x,y,z scale on the terrain
randScaleX = Random.Range(3, 70);
randScaleY = Random.Range(70, 170);
randScaleZ = Random.Range(50, 270);
//Apply Offset if needed
yVal = yVal + yOffset;
//Generate the Prefab on the generated position
objInstance = Instantiate(prefab, new Vector3(randX, yVal, randZ), Quaternion.identity);
if (randomScale == true)
objInstance.transform.localScale = new Vector3(randScaleX, randScaleY, randScaleZ);
if (name != "")
objInstance.name = name;
if (tagName != "")
objInstance.tag = tagName;
if (parent)
objInstance.transform.parent = this.transform;
generatedObjects.Add(objInstance);
}
}
异常上线
objInstance.tag = tagName;
tagName 是全局字符串变量,在顶部设置为 ""
我正在尝试为每个游戏对象添加一个标签,但得到了这个 B 异常。
也试过 objInstance.transform.tag 但同样的例外。
如果您没有先在项目的 Unity 编辑器中定义游戏对象,则无法将其添加到游戏对象。进入 Inspector,然后 select "Tag"。然后您将获得一个选项 "Add Tag...",您可以使用它来添加所需的标签名称。由于将定义要添加到游戏对象的标签,因此您不会再收到此错误。请确保您要添加的标签的名称与标签列表中的现有名称相对应。
要了解更多关于标签以及如何使用它们的信息,您还可以查看 Unity 的 manual 关于此事。
public void generateObjectOnTerrain()
{
generatedObjects = new List<GameObject>();
for (int i = 0; i < objectsToInstantiate; i++)
{
//Generate random x,z,y position on the terrain
float randX = UnityEngine.Random.Range(xTerrainPos, xTerrainPos + terrainWidth);
float randZ = UnityEngine.Random.Range(zTerrainPos, zTerrainPos + terrainLength);
float yVal = Terrain.activeTerrain.SampleHeight(new Vector3(randX, 0, randZ));
//Generate random x,y,z scale on the terrain
randScaleX = Random.Range(3, 70);
randScaleY = Random.Range(70, 170);
randScaleZ = Random.Range(50, 270);
//Apply Offset if needed
yVal = yVal + yOffset;
//Generate the Prefab on the generated position
objInstance = Instantiate(prefab, new Vector3(randX, yVal, randZ), Quaternion.identity);
if (randomScale == true)
objInstance.transform.localScale = new Vector3(randScaleX, randScaleY, randScaleZ);
if (name != "")
objInstance.name = name;
if (tagName != "")
objInstance.tag = tagName;
if (parent)
objInstance.transform.parent = this.transform;
generatedObjects.Add(objInstance);
}
}
异常上线
objInstance.tag = tagName;
tagName 是全局字符串变量,在顶部设置为 "" 我正在尝试为每个游戏对象添加一个标签,但得到了这个 B 异常。 也试过 objInstance.transform.tag 但同样的例外。
如果您没有先在项目的 Unity 编辑器中定义游戏对象,则无法将其添加到游戏对象。进入 Inspector,然后 select "Tag"。然后您将获得一个选项 "Add Tag...",您可以使用它来添加所需的标签名称。由于将定义要添加到游戏对象的标签,因此您不会再收到此错误。请确保您要添加的标签的名称与标签列表中的现有名称相对应。
要了解更多关于标签以及如何使用它们的信息,您还可以查看 Unity 的 manual 关于此事。