brianmay
@brianmay
Неопытный C# разработчик

Как исправить непрерывное движение при использовании управления через UI элементы?

Делаю игру на андроид, управление реализовал через свайпы, но когда я делаю свайп вправо/влево игрок непрерывно движется вправо/влево
public class Player : MonoBehaviour, IBeginDragHandler, IDragHandler
{
    public float speed; 
    public float jumpForce; 
    public float moveInput; 

    private Rigidbody2D rb;

    public bool facingRight = true; 

    public bool isGrounded;
    public Transform feetPos;
    public float checkRadius;
    public LayerMask whatIsGround;

    public GameObject ground;

    public void OnBeginDrag(PointerEventData eventData)
    {

        if ((Mathf.Abs(eventData.delta.x)) > (Mathf.Abs(eventData.delta.y)))
        {
            if (eventData.delta.x > 0)
            {
                moveInput = 2;
                rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
            }
            else
            {
                moveInput = -2;
                rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
            }
        }
        else
        {
            if (eventData.delta.y > 0 && isGrounded == true)
            {
                rb.velocity = Vector2.up * jumpForce;
            }
            else
            {
                
            }
        }
    }
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
У вас нет условия для остановки движения. Указали движение и всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы