Cuando hacéis el movimiento en 2D, ¿que método utilizáis? He visto que hay quien usa la propiedad velocity del RigidBody2D, hay quien le añade fuerza en diferentes direcciones...
Por poner algo de código, el último vídeo que he visto, para mi la manera más fácil de hacerlo es:
public class PlayerController2D : MonoBehaviour
{
Rigidbody2D rb2d;
public float speed;
public float jumpForce;
void FixedUpdate()
{
if (Input.GetKey("d") || Input.GetKey("right"))
{
rb2d.velocity = new Vector2(speed, rb2d.velocity.y);
}
else if (Input.GetKey("a") || Input.GetKey("left"))
{
rb2d.velocity = new Vector2(-speed, rb2d.velocity.y);
} else
{
rb2d.velocity = new Vector2(0, rb2d.velocity.y);
}
if (Input.GetKey("space"))
{
rb2d.velocity = new Vector2(rb2d.velocity.x, jumpForce);
}
}
}