quhluh icon

DASH CODE FOR A 2D GAME IN C#

quhluh | 04/01/23 07:07:05 PM UTC | 0 ⭐ | 375 👁️ | Never ⏰ | []
C# |

1.42 KB

|

None

|

0 👍

/

0 👎

public class PlayerController : MonoBehaviour
{
    public float dashSpeed = 10f; // the speed at which the player will dash
    public float dashDuration = 0.5f; // the duration of the dash in seconds
    public float dashCooldown = 1f; // the cooldown period between dashes in seconds
 
    private Rigidbody2D rb;
    private bool isDashing = false; // flag to indicate if the player is currently dashing
    private float dashTimeLeft = 0f; // the remaining duration of the dash
    private float dashCooldownTimeLeft = 0f; // the remaining time until the player can dash again
 
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }
 
    void Update()
    {
        // check if the player can dash
        if (Input.GetKeyDown(KeyCode.Space) && !isDashing && dashCooldownTimeLeft <= 0f)
        {
            isDashing = true;
            dashTimeLeft = dashDuration;
            rb.velocity = transform.right * dashSpeed;
        }
 
        // update the dash time and cooldown time
        if (isDashing)
        {
            dashTimeLeft -= Time.deltaTime;
            if (dashTimeLeft <= 0f)
            {
                isDashing = false;
                dashCooldownTimeLeft = dashCooldown;
                rb.velocity = Vector2.zero;
            }
        }
        else if (dashCooldownTimeLeft > 0f)
        {
            dashCooldownTimeLeft -= Time.deltaTime;
        }
    }
}

Comments