Example #1
0
    void FixedUpdate() //Dans FixedUpdate pour jouer sur la physique
    {
        //Quand on appuie sur la barre espace ...
        if (SimpleInput.GetKeyDown(KeyCode.Space))
        {
            //Et qu'on est au sol ...
            if (ent.isGrounded)
            {
                //On saute !
                rb.velocity    = new Vector2(rb.velocity.x, jumpForce);
                stoppedJumping = false;
            }
        }

        //Si on reste appuyé...
        if ((SimpleInput.GetKey(KeyCode.Space)) && !stoppedJumping)
        {
            //et que le compteur n'a pas atteint 0...
            if (jumpTimeCounter > 0)
            {
                // On saute plus haut !
                rb.velocity      = new Vector2(rb.velocity.x, jumpForce);
                jumpTimeCounter -= Time.deltaTime;
            }
        }


        //Quand on lache le bouton...
        if (SimpleInput.GetKeyUp(KeyCode.Space))
        {
            //On arrete de sauter et on réinitialise le comptuer.
            jumpTimeCounter = 0;
            stoppedJumping  = true;
        }

        //Ajoute une force rappel vers le sol lors de la chute (commence avant le sommet de la parabole, ajuster ySpeedLimit pour avoir le meilleur resultat)
        if (rb.velocity.y < ySpeedLimit)
        {
            rb.velocity += Vector2.up * Physics2D.gravity.y * (fallMultiplier) * Time.deltaTime;
        }
    }