我有一个带有标签的游戏对象'对'当这个游戏对象不是相机的孩子时,它会被识别:
if (hitInfo.transform.gameObject.tag == "right")
然而,当我将游戏对象作为相机的孩子(我需要做)时,它不再被识别。关于我能做什么的任何想法?
完整代码是:
if (Input.GetMouseButtonDown (0)) {
Vector2 pos = new Vector2 (Input.mousePosition.x, Input.mousePosition.y);
RaycastHit2D hitInfo = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (pos), Vector2.zero);
Debug.Log (pos); // space indication
// we have something under our pointer
if (hitInfo) {
if (hitInfo.transform.gameObject.tag == "left") {
playerMovement += Vector2.left * distance; // do something
}
if (hitInfo.transform.gameObject.tag == "right") {
playerMovement += Vector2.left * distance; // or do something else
// (...)
}
}
由于
答案 0 :(得分:0)
也许你需要检查孩子呢?
if (hitInfo.transform.Cast<Transform>()
.Any(child => child.gameObject.tag == "left")
playerMovement += Vector2.left * distance; // do something
if (hitInfo.transform.Cast<Transform>()
.Any(child => child.gameObject.tag == "right")
playerMovement -= Vector2.left * distance; // or do something else