Hi everyone!
I am new in Unity and I have a question. In my follow script, the cube when in the air, “jump” twice instead one.
Why?
void FixedUpdate()
{
if (Input.GetKeyDown(KeyCode.Space))
{
// neste caso a velocidade leva em consideracao a massa do objeto
// bolaRigidbody.AddForce(new Vector2(0, 1));
// neste caso a velocidade leva em consideracao a massa do objeto
// bolaRigidbody.AddForce(Vector2.up, ForceMode2D.Impulse);
// aqui a massa nao importa. A velocidade sera a mesma.
if (piso == true)
{
piso = false;
bolaRigidbody.velocity = Vector2.up * 5;
}
}
}
// Collision possui as informacoes sobre a colisao.
// Colider possui as informacoes sobre os objetos que colidem. Para usar apenas com triggers.
// Testo se o objeto que tem o metodo de colisao (neste caso, Ball) irá tocar o piso
void OnCollisionStay2D(Collision2D col)
{
if (col.gameObject.name == "piso")
{
piso = true;
}
}