so i spend i dont know how long trying to make double jump work after falling off an edge but its simple not happening so i wonder if anyone has any idea how to do
this is my code
// jumping variables
public float jumpCount;
public bool allowJump;
public float jump;
// rigidbody name
private Rigidbody2D myrigidbody2d;
// ground checking varaibles
public Transform ground_check;
public float ground_check_radius;
public LayerMask what_is_ground;
public bool grounded;
void Start ()
{
myrigidbody2d = FindObjectOfType<Rigidbody2D> ();
}
void FixedUpdate ()
{
// checks fro ground
grounded = Physics2D.OverlapCircle (ground_check.position, ground_check_radius, what_is_ground);
}
// Update is called once per frame
void Update () {
// jump when space is pressed
if (Input.GetKeyDown (KeyCode.Space)) {
// single jump
if (jumpCount == 0f)
{
jumpCount++;
jump_code ();
}
// double jump
else if (jumpCount == 1f)
{
jump_code ();
jumpCount++;
}
}
// resetst the jump count once grouped
if (grounded)
{
jumpCount = 0f;
}
}
// jump code
public void jump_code()
{
if (allowJump)
{
myrigidbody2d.velocity = new Vector2 (myrigidbody2d.velocity.x, jump);
GetComponent<AudioSource>().Play();
}
}
so what this code does is that instead of solving my problem it just gives you triple jump when jumping from ground and double jump when falling off an edge i have no idea why help plz