Добавление глиссады в персонаж - PullRequest
1 голос
/ 14 октября 2019

Итак, вот моя проблема: пытаться заставить персонажа скользить, пока я удерживаю кнопку прыжка, не касаясь земли.

Я пытался добавить силу и установить скорость напрямую,Прямо сейчас я думаю, что путь вперед - это установка скорости, но он продолжает сбрасываться в ноль, прежде чем я могу настроить свое глиссирование.

// Update is called once per frame
void FixedUpdate()
{
    float move = Input.GetAxis("Horizontal");
    float climb = Input.GetAxis("Vertical");
    //Are we on the ground?
    _grounded = Physics2D.OverlapCircle(groundCheck.position, _groundCheckRadius, groundLayer);
    //Make sure we are facing the correct direction
    if (move > 0 && !facingRight)
        Flip();
    else if (move < 0 && facingRight)
        Flip();
    _rigidbody.velocity = new Vector2(CalculateXSpeed(), CalculateYSpeed());
    //Anaimtion stat
    _animator.SetBool("IsGrounded", _grounded);
    _animator.SetFloat("MoveSpeed", Mathf.Abs(move));
    _animator.SetFloat("VerticalVelocity", _rigidbody.velocity.y);
}
/// <summary>
/// Calculate All the force for the final character movement
/// </summary>
/// <returns></returns>
float CalculateXSpeed()
{
    float result;
    if (!_grounded && Input.GetButtonDown("Jump"))
    {
        if (facingRight)
            result = flightPower;
        else
            result = -flightPower;
    }
    else
    {
        result = Input.GetAxis("Horizontal") * MaxSpeed;
    }
    return result;
}
/// <summary>
/// Calculate All the force for the final character movement
/// </summary>
/// <returns></returns>
float CalculateYSpeed()
{
    float result = _rigidbody.velocity.y;
    if (Input.GetButton("Jump"))
    {
        if (_grounded)
        {
            result += jumpPower;
            _grounded = false;
        }
    }
    return result;
}

Мощность полета и максимальная скорость установлены в инспекторе, 5 и 10 соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...