コード例 #1
0
    public void ApplyMovement()
    {
        if (invertedControls)
        {
            input.Invert();
        }

        if (IsGrounded())
        {
            if (input.isJumping)
            {
                rigidbody.AddForce(transform.up * jumpForce);
            }
            rigidbody.velocity = new Vector2(input.horizontalInput * speed, rigidbody.velocity.y);
        }
        else
        {
            rigidbody.velocity = new Vector2(Mathf.Clamp(rigidbody.velocity.x + input.horizontalInput * inAirSpeed, -speed, speed), rigidbody.velocity.y);
        }

        //direction
        direction            = (input.horizontalInput == 0) ? direction : (input.horizontalInput > 0) ? Actor.MovementDirection.RIGHT : Actor.MovementDirection.LEFT;
        spriteRenderer.flipX = direction == MovementDirection.LEFT;
    }