// Update is called once per frame void Update() { IsMoving = false; IsRising = false; IsFalling = false; Vector2 Displacement = Vector2.zero; if (Input.GetKey(KeyCode.A)) { IsMoving = true; Displacement += Vector2.left; sRenderer.flipX = true; } if (Input.GetKey(KeyCode.D)) { IsMoving = true; Displacement += Vector2.right; sRenderer.flipX = false; } raycastCollider.Move(Displacement * Time.deltaTime * MovementSpeed); //Vertical Movement VerticalVelocity += Gravity * Time.deltaTime; if (raycastCollider.isGrounded) { VerticalVelocity = 0; } if (!raycastCollider.isGrounded) { if (VerticalVelocity > 0) { IsRising = true; } else if (VerticalVelocity < 0) { IsFalling = true; } } if (raycastCollider.isGrounded && Input.GetKeyDown(KeyCode.Space)) { VerticalVelocity = GetJumpVelocity(JumpHeight); } raycastCollider.Move(VerticalVelocity * Vector2.up * Time.deltaTime); }
// only call this once per frame void Move(Vector2 deltaPosition) { raycastCollider.Move(deltaPosition, timers.Active("platformFallThrough") && !timers.Expired("platformFallThrough")); }
// Update is called once per frame void Update() { IsMoving = false; IsRising = false; IsFalling = false; //Horizontal Player Movement float horizontalDisplacement = 0; if (Input.GetKey(KeyCode.A)) { horizontalDisplacement -= 1; IsMoving = true; } if (Input.GetKey(KeyCode.D)) { horizontalDisplacement += 1; IsMoving = true; } horizontalDisplacement *= MovementSpeed * Time.deltaTime; if (horizontalDisplacement < 0) { sRenderer.flipX = true; } else if (horizontalDisplacement > 0) { sRenderer.flipX = false; } raycastCollider2D.Move(horizontalDisplacement * Vector3.right); //Vertical Movement - Jumping/Falling VerticalVelocity += Gravity * Time.deltaTime; if (raycastCollider2D.isGrounded || raycastCollider2D.isCollidingBottom) { VerticalVelocity = 0; } else { if (VerticalVelocity > 0) { IsRising = true; } else { IsFalling = true; } } if ((raycastCollider2D.isGrounded || raycastCollider2D.isCollidingBottom) && Input.GetKeyDown(KeyCode.Space)) { VerticalVelocity = GetJumpHeight(JumpHeight); Debug.Log("Jump " + VerticalVelocity); } raycastCollider2D.Move(VerticalVelocity * Time.deltaTime * Vector3.up); }