unity movement script 2d
//player must have a rigidbody2D and a box colider
public float moveSpeed = 5f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
Jump();
Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
transform.position += movement * Time.deltaTime * moveSpeed;
}
void Jump()
{
if (Input.GetButtonDown("Jump"))
{
gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, 5f), ForceMode2D.Impulse);
}
}
Rigidbody2D rigidbody2d;
[Header("Movement Settings")]
[SerializeField] float moveSpeed = 5f;
[SerializeField] float jumpPower = 10f;
[Header("Bools")]
[SerializeField] bool isGrounded = false;
// Start is called before the first frame update
void Start()
{
rigidbody2d = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
Vector3 Move = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
transform.position += Move * Time.deltaTime * moveSpeed;
Jump();
}
void Jump()
{
if (Input.GetKeyDown(KeyCode.Space) && isGrounded == true)
{
rigidbody2d.AddForce(new Vector2(0f, jumpPower), ForceMode2D.Impulse);
isGrounded = false;
}
}
void OnCollisionEnter2D(Collision2D other)
{
isGrounded = true;
}