Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- public class movementRigibody : MonoBehaviour {
- public float speed = 20;
- public float jumpForce= 550f;
- public float doubleJumpForce = 500f;
- public Transform groundCheck;
- public LayerMask whatIsGround;
- bool doubleJump = false;
- private Rigidbody2D rb;
- private bool isGrounded = false;
- private bool jump = false;
- private bool canDoubleJump = false;
- void Start ()
- {
- rb = GetComponent<Rigidbody2D>();
- }
- void Update (){
- if (Input.GetButtonDown("Jump") {
- if (isGrounded)
- jump = true;
- canDoubleJump = true;
- else if (canDoubleJump)
- doubleJump = true;
- canDoubleJump = false;
- }
- }
- void FixedUpdate ()
- {
- float hor = Input.GetAxis ("Horizontal");
- rb.velocity = new Vector2(hor * speed,rb.velocity.y);
- isGrounded = Physics2D.OverlapCircle (groundCheck.position, 0.15f, whatIsGround);
- if (jump) {
- rb.AddForce (new Vector2(0, jumpForce));
- jump = false;
- }
- if (doubleJump && Input.GetButtonDown("Jump")) {
- rb.AddForce (new Vector2(0, doubleJumpForce));
- doubleJump = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement