я разобрался, из-за вот этой строки
Используется csharp
targetpl = GameObject.FindGameObjectWithTag(Tagii).GetComponent<Transform>();
каждый новый коп детектил самого себя
решение, ту строку удалить и сделать запись в самой функции OnTrtiggerEnter2d вот так
Используется csharp
public void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "Cops")
{
h = other.gameObject.GetComponent<Transform>(); //присвоить в переменную h именно ДРУГОЙ игровой обьект который входит в коллайдер.
//слежение за копами
targetPos1 = h.position; //а здесь уже брать позицию именно h;
targetPos1.x = targetPos1.x - thisPos.x;
targetPos1.y = targetPos1.y - thisPos.y;
angleii1 = Mathf.Atan2(targetPos1.y, targetPos1.x) * Mathf.Rad2Deg;
IsTriggerCops = true;
}
}
п.с. надеюсь кому-то поможет