Привет! Я вижу, что у вас возникла проблема с патрулированием врага в Unity. Проблема заключается в том, что в вашем коде условие для смены направления проверяется только для `rightBorder`. Вам нужно добавить проверку для `leftBorder` в блоке `else`. Вот исправленный код:
using UnityEngine;
using System.Collections;
class EnemyWalk : MonoBehaviour
{
public GameObject leftBorder;
public GameObject rightBorder;
public Rigidbody2D rigidbody;
public bool isRightDirection;
public float speed;
private void Update() {
if (isRightDirection)
{
rigidbody.velocity = Vector2.right * speed;
if (transform.position.x > rightBorder.transform.position.x)
isRightDirection = !isRightDirection;
}
else
{
rigidbody.velocity = Vector2.left * speed;
// Используйте leftBorder здесь, а не rightBorder
if (transform.position.x < leftBorder.transform.position.x)
isRightDirection = !isRightDirection;
}
}
}
Теперь враг должен разворачиваться, достигнув `leftBorder` и `rightBorder`. Удачи с вашим проектом на Unity! Если у вас возникнут еще вопросы, не стесняйтесь спрашивать.
вот код: