@Gleb_Shalygin

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

Доброго времени суток, друзья программисты! Столкнулся с одним вопросом. Я зажимаю пробел и после того, как отпускаю его, персонаж начинает прыжок в длину. Хотелось бы сделать, чтобы время зажатия вляоло на длину и высоту прыжка. То есть, я зажимаю пробел 1 секунду и персонаж делает низкий прыжок и летит недалеко, но если я зажимаю пробел секунд 3-5 - соответственно персонаж прыгает и выше, и дальше. Помогите реализовать данную механику, буду очень благодарен!
private void Update()
    {
if (isGrounded == true && Input.GetKeyUp(KeyCode.Space))
        {
            BallJump();
        }
}
 void BallJump() // прыжок вперед
    {
        Vector2 jjump = new Vector2(rb.velocity.x + speed, rb.velocity.y + jumpForce);
        rb.AddForce(jjump, ForceMode2D.Impulse);
        
    }
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@NoNameDeveloper
Unity Developer
using UnityEngine;

public class Jump : MonoBehaviour
{
    private float _power;

    // Methods

    public void Update()
    {
    	// При нажатие сбрасываем силу прыжка.
        if(Input.GetKeyDown(KeyCode.Space))
        	_power = 1;
        
        // При зажатие увеличиваем силу на некое число.
        else if(Input.GetKey(KeyCode.Space))
       		_power += .1f;

        // При отпускании сделаем прыжок с полученной силой.
        // Направление только нужно будет дописать.
        else if(Input.GetKeyUp(KeyCode.Space))
        	rb.AddForce(_power, ForceMode2D.Impulse);
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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