Задать вопрос
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
            {
                
            }
        }
    }
  • Вопрос задан
  • 128 просмотров
Подписаться 2 Средний 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы