C# Unity2D克隆的游戏对象不会检测到其他游戏对象的标签

C# Unity2D克隆的游戏对象不会检测到其他游戏对象的标签,c#,unity3d,C#,Unity3d,我试着制造一个能产卵的射弹,当它击中玩家时,他就会被摧毁。我必须提到,投射物将通过“实例化”命令生成,使其成为“克隆的游戏对象”。在脚本中我写道,如果射弹击中另一个带有“玩家”标签的游戏对象,它击中的游戏对象将被销毁,但在运行代码后,射弹击中了玩家,他没有被销毁。我查过了,标签上写着“玩家”。我在代码中加入了一个调试命令,并设法发现标记没有被检测到。射弹产卵器的脚本和射弹本身是分开的,所以我只展示射弹脚本,因为它是有问题的脚本。我必须指出,脚本不会产生任何错误,模拟运行良好,除了我上面提到的事情

我试着制造一个能产卵的射弹,当它击中玩家时,他就会被摧毁。我必须提到,投射物将通过“实例化”命令生成,使其成为“克隆的游戏对象”。在脚本中我写道,如果射弹击中另一个带有“玩家”标签的游戏对象,它击中的游戏对象将被销毁,但在运行代码后,射弹击中了玩家,他没有被销毁。我查过了,标签上写着“玩家”。我在代码中加入了一个调试命令,并设法发现标记没有被检测到。射弹产卵器的脚本和射弹本身是分开的,所以我只展示射弹脚本,因为它是有问题的脚本。我必须指出,脚本不会产生任何错误,模拟运行良好,除了我上面提到的事情

public class Bulletboi : MonoBehaviour
{
    public float speed;
    private Transform player;
    private Vector2 target;
    public GameObject Elven;

    void Start()
    {
        player = GameObject.FindGameObjectWithTag("player").transform;
        target = new Vector2(player.position.x, player.position.y);
    }

    void Update()
    {
        transform.position = Vector2.MoveTowards(transform.position, target, speed * Time.deltaTime);
        if(transform.position.x == target.x && transform.position.y == target.y)
        {
            DestroyProjectile();
        }
    }
    void OnEnterTrigger2D(Collision2D other)
    {
        if (other.gameObject.tag.Equals("player"))
            {
            Debug.Log("bbbb");
            DestroyProjectile();
            Destroy(other.gameObject);
        }
    }
    void DestroyProjectile()
    {
        Destroy(gameObject);
    }
}


没关系,我决定稍微修改一下脚本,然后把它放在播放机上,让它检测到投射物的标签,现在它工作了。

你确定它满足所有碰撞要求吗?我很抱歉没有提到我是unity和programming的新手,但是,您能否指定代码必须满足哪些要求才能正常工作?