如何检查在 OnTriggerEnter 中的对象上找到的文本
How to check the text found on an object in OnTriggerEnter
我有一个问题,我创建了一个游戏,我需要收集一个气球,然后检查我附加在上面的文字的编号:
Example
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
//now I want to check the text//
}
}
这很容易做到。作为您的示例,您在 other
object 的 child 中有一个 TextMeshPro
。现在在这种情况下,您有两种方法可以获取 child object.
我会在答案底部添加参考链接。
- other.transform.Find();
- other.transform.GetChild();
1。 other.transform.Find()
使用 transform.find()
方法,它将遍历 Objects 的所有 Objects 游戏 parent object 在您的情况下,此方法将遍历 other
object 的所有 children,一旦找到与名称匹配的 object,它将 return object ].
举个例子:
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
TextMeshPro tmp = other.transform.Find("Text (TMP) (1)").GetComponent<TextMeshPro>();
if(tmp.text == "text of your liking")
{
Debug.Log("Do what you want");
}
}
}
2。 other.transform.GetChild()
此方法将直接从您输入的索引中 return child。而且这个方法是退出一个有效的方法。
示例如下:
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
TextMeshPro tmp = other.transform.GetChild(0).GetComponent<TextMeshPro>();
if(tmp.text == "text of your liking")
{
Debug.Log("Do what you want");
}
}
}
参考文献:
我有一个问题,我创建了一个游戏,我需要收集一个气球,然后检查我附加在上面的文字的编号: Example
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
//now I want to check the text//
}
}
这很容易做到。作为您的示例,您在 other
object 的 child 中有一个 TextMeshPro
。现在在这种情况下,您有两种方法可以获取 child object.
我会在答案底部添加参考链接。
- other.transform.Find();
- other.transform.GetChild();
1。 other.transform.Find()
使用 transform.find()
方法,它将遍历 Objects 的所有 Objects 游戏 parent object 在您的情况下,此方法将遍历 other
object 的所有 children,一旦找到与名称匹配的 object,它将 return object ].
举个例子:
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
TextMeshPro tmp = other.transform.Find("Text (TMP) (1)").GetComponent<TextMeshPro>();
if(tmp.text == "text of your liking")
{
Debug.Log("Do what you want");
}
}
}
2。 other.transform.GetChild()
此方法将直接从您输入的索引中 return child。而且这个方法是退出一个有效的方法。
示例如下:
public void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Ballon")
{
TextMeshPro tmp = other.transform.GetChild(0).GetComponent<TextMeshPro>();
if(tmp.text == "text of your liking")
{
Debug.Log("Do what you want");
}
}
}
参考文献: