@vegalong

Как сделать чтобы персонаж двигался когда зажать кнопка?

Написал код чтобы перс двигался в стороны но когда пробую двигать его через кнопку в event trigger (Pointer Down, Pointer Up ) то он двигается на один шаг и получается нужно кликать, а если зажать то делает шаг и стоит. Через клавиатурное управление двигается нормально но мне нужно мобильное управление. Не пойму в чем проблема
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PPcont : MonoBehaviour
{
    public float sVertical;
    public float sHorizontal;
    float speedX;
     float speedV;
        Rigidbody2D rb;
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    public void LeftButtonDown()
    {
        speedX = -sHorizontal;
    }
    public void RightButtonDown()
    {
        speedX = sHorizontal;
    }
    public void UpButtonDown()
    {
        speedV = sVertical;
    }
    public void DownButtonDown()
    {
        speedV = -sVertical;
    }
    public void Stop()
    {
         speedV = 0;
          speedX = 0;
    }
    void FixedUpdate() {
    //     if (Input.GetKey(KeyCode.A))
    //     {
    //       speedX = -sHorizontal;
    //     }
    //     else if (Input.GetKey(KeyCode.D))
    //     {
    //         speedX = sHorizontal;
    //     }
    //     else if (Input.GetKey(KeyCode.W))
    //     {
    //    speedV = sVertical;          
    //     }
    //     else if (Input.GetKey(KeyCode.S))
    //     {
    //         speedV = -sVertical;
        // }
        transform.Translate (speedX, 0, 0);
        speedX = 0;
        transform.Translate (0, speedV, 0);
        speedV = 0;
        
            }
}
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Так зачем ты speedX обнуляешь? Обнулять надо когда ты кнопку отжал.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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