Проблема с врагом в 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);
        }
         
    }
}

Проблема в том, что первый раз он идет нормально(он идет в право), а потом его телепортирует в лево. Почему так?


Ответы (0 шт):