Hey! Currently working on my game but for some reason every time I press E (activating the dash) All it does is keeps me hovering.
private float horizontal;
private float speed = 8f;
private float jumpingPower = 16f;
private bool isFacingRight = true;
public bool canDash = true;
public bool isDashing;
private float dashingPower = 24f;
private float dashingTime = 0.2f;
private float dashingCooldown = 1f;
[SerializeField] private Rigidbody2D rb;
private void Update()
{
if (isDashing)
{
return;
}
if(Input.GetKey(KeyCode.E)) {
StartCoroutine(Dash());
Debug.Log("dash");
}
}
private void FixedUpdate()
{
if (isDashing)
{
return;
}
}
private void Flip()
{
if (isFacingRight && horizontal < 0f || !isFacingRight && horizontal > 0f)
{
Vector3 localScale = transform.localScale;
isFacingRight = !isFacingRight;
localScale.x *= -1f;
transform.localScale = localScale;
}
}
private IEnumerator Dash()
{
Debug.Log("dashing");
canDash = false;
isDashing = true;
float originalGravity = rb.gravityScale;
rb.gravityScale = 0f;
yield return new WaitForSeconds(dashingTime);
rb.gravityScale = originalGravity;
isDashing = false;
yield return new WaitForSeconds(dashingCooldown);
canDash = true;
}
This is a platformer.