WasTabon
@WasTabon

Из-за чего персонаж не прыгает сразу?

Бывают такие моменты, что персонаж прыгает только через несколько миллисекунд, в основном тогда, когда тыкаю на пробел несколько раз подряд
public float speed;
    public float jumpForce;

    public bool isGrounded;

    public Transform transform;
    public Rigidbody2D rigidbody2D;

    void FixedUpdate()
    {
        if (Input.GetKey("d"))
        {
            transform.Translate(Vector2.right * Time.deltaTime * speed);
        }

        if (Input.GetKey("a"))
        {
            transform.Translate(Vector2.left * Time.deltaTime * speed);
        }

        if (Input.GetKeyDown("space") && isGrounded)
        {
            rigidbody2D.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
        }
    }
  • Вопрос задан
  • 191 просмотр
Решения вопроса 1
DanielMcRon
@DanielMcRon
C# && Unity
Физика вызывается в FixedUpdate. Ввод и прочее в Update. А у вас получается так, вы нажимаете кнопку, а за это время 2-3 кадра проскакивают и выходит вот такая задержка
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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