Dash
Voce pode gerar um codigo em unity onde o personagem pode se mover, pular e fazer dash?unknown
csharp
10 months ago
1.7 kB
8
Indexable
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f; // velocidade do personagem
public float jumpForce = 7f; // força do salto do personagem
public float dashDistance = 10f; // distância do dash
private Rigidbody2D rb;
private bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void FixedUpdate()
{
float moveInput = Input.GetAxis("Horizontal"); // obtém a entrada horizontal (A/D ou Esquerda/Direita)
rb.velocity = new Vector2(moveInput * speed, rb.velocity.y); // movimenta o personagem horizontalmente
if (Input.GetButtonDown("Jump") && isGrounded) // se o botão de salto é pressionado e o personagem está no chão
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce); // aplica força vertical para o personagem pular
isGrounded = false; // define que o personagem não está mais no chão
}
if (Input.GetButtonDown("Dash")) // se o botão de dash é pressionado
{
float dashDirection = Input.GetAxisRaw("Horizontal"); // obtém a direção horizontal do dash
rb.velocity = new Vector2(dashDirection * dashDistance, 0f); // aplica uma força horizontal maior para o personagem se mover rapidamente na direção do dash
}
}
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Ground")) // se o personagem colidiu com o objeto com a tag "Ground"
{
isGrounded = true; // define que o personagem está no chão
}
}
}
Editor is loading...
Leave a Comment