예제 #1
0
    void Move(float force)
    {
        if (!canMove)
        {
            return;
        }

        currentSpeed = BMath.Smoothstep1D(currentSpeed, force, col.OnGround ? accelerationGrounded : accelerationAirbone);
        rb.velocity  = new Vector2(currentSpeed, rb.velocity.y);
    }
    public void MoveHorizontally(Vector2 direction)
    {
        TargetSpeed  = direction.x * moveSpeed;
        CurrentSpeed = BMath.Smoothstep1D(CurrentSpeed, TargetSpeed, (Col.OnGround ? accelerationGrounded : accelerationAirbone) * Time.deltaTime);
        Rb.velocity  = new Vector2(CurrentSpeed, Rb.velocity.y);

        if (direction.x > 0 && !facingRight || direction.x < 0 && facingRight)
        {
            Flip();
        }
    }