Beispiel #1
0
    protected override void ComputeVelocity()
    {
        Vector2 move = Vector2.zero;

        move.x = Input.GetAxis("Horizontal");
        move.y = Input.GetAxis("Vertical");



        if (Input.GetButtonDown("Jump") && grounded)
        {
            velocity.y = jumpTakeOffSpeed;
        }

        else if (Input.GetButtonUp("Jump"))
        {
            if (velocity.y > 0)
            {
                velocity.y = velocity.y * 0.5f;
            }
        }


        if (Input.GetButtonDown("Special1") && powerUpManager.DoubbleJumpAsk() != (Input.GetButtonDown("Jump")))
        {
            velocity.y = jumpTakeOffSpeed;
            powerUpManager.DoubbleJumpDone();
        }

        else if (Input.GetButtonUp("Special1"))
        {
            if (velocity.y > 0)
            {
                velocity.y = velocity.y + 10f;
            }
        }



        bool flipSprite = (spriteRenderer.flipX ? (move.x > 0.01f) : (move.x < 0.01f));

        if (flipSprite)
        {
            spriteRenderer.flipX = !spriteRenderer.flipX;
        }

        //animator.SetBool("grounded", grounded);
        //animator.SetFloat("velocityX", Mathf.Abs(velocity.x) / maxSpeed);
        animator.SetInteger("State", 1);
        //checks to see if the player is sprinting
        if (Input.GetButton("Sprint"))
        {
            targetVelocity = move * maxSpeed * sprintSpeed;
        }
        else
        {
            targetVelocity = move * maxSpeed;
        }
    }