Disparar en Unity

Bien vamos aprende a disparar, el disparo del coche va ser algo normalito aquí vemos nuestro coche que solo va hacia un lado y otro bien ahora lo que voy a poner va ser una bola de fuego que dispare mi coche

Bien a esa bola de fuego le voy asignar los componentes que dejare en la descripción

un Box Collider y un Rigibody 2D y despues create un Script y en la bola de fuego programare lo siguiente.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class disparo : MonoBehaviour
{
    // Start is called before the first frame update
    Rigidbody2D rb;
    public float speed;

    private void Awake()
    {

        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {

        rb.velocity = -Vector2.down * speed;
    }
}

 

con esto lo que vamos hacer es que nuestra bola de fuego vaya hacia abajo, aunque tal y como lo tengo colocado parece que va hacia arriba la bola de fuego va hacia abajo como así lo pone

{ rb.velocity = -Vector2.down * speed; }

ahora lo voy a poner hacia arriba solo hay que cambiar el down por up

rb.velocity = -Vector2.up * speed;

 

ahora lo pondremos a la derecha

rb.velocity = -Vector2.right * speed;

Izquierda

rb.velocity = -Vector2.left* speed;

 

bien una vez que tengamos seleccionado el disparo en mi caso ya lo tengo es hacia abajo.

vamos a nuestro Player que en mi caso es el coche yo le creado otro script, pero también podemos ponerlo en el Script principal que tengo y programamos lo siguiente

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class dispararcar : MonoBehaviour
{
    public GameObject Fire;


    private void Update()
    {
       if(Input.GetKeyDown(KeyCode.Space)){

            Instantiate(Fire, transform.position, Quaternion.identity);
        }

    }

}

con esto cada vez que toquemos la tecla  espacio disparara nuestro personaje

Nos saldrá esto. aquí tendremos que adjuntar la bola de fuego que hemos creado, aunque lo primero que vamos hacer es meter nuestra bola de fuego a la carpeta de prefab

llevamos nuestra bola de fuego a prefab y despues la eliminamos

una vez eliminada desde la carpeta de prefab  la ponemos en «Fire»

y miramos si ha funcionado.