Проблема с врагом в Unity 2D
Здраствуйте, я делаю платформер и столкнулся с такой проблемой: У меня есть враг, вот код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ykraunec : MonoBehaviour
{
[SerializeField] private float speed;
[SerializeField] private float speedboots;
[SerializeField] private float jump;
[SerializeField] private float distanceAgr;
[SerializeField] private float distancepotrol;
private float minDistance;
private float maxDistancce;
private Rigidbody2D rb;
private bool patrol = true;
private GameObject player;
private void Start()
{
player = GameObject.Find("Hero");
rb = GetComponent<Rigidbody2D>();
minDistance = transform.position.x - distancepotrol;
maxDistancce = transform.position.x + distancepotrol;
}
private void Update()
{
if (patrol == true)
Potrol();
}
private void Potrol()
{
transform.Translate(transform.right * speed * Time.deltaTime);
if (transform.position.x > maxDistancce)
{
speed = -speed;
transform.rotation = Quaternion.Euler(0, 0, 0);
}
if (transform.position.x < minDistance)
{
speed = -speed;
transform.rotation = Quaternion.Euler(0, 180, 0);
}
}
}
Проблема в том, что первый раз он идет нормально(он идет в право), а потом его телепортирует в лево. Почему так?