Disparar al enemigo

Unity Disparar al enemigo, aquí vamos aprender a disparar al enemigo aunque en el anterior tutorial ya lo enseñe, y a eliminar al enemigo, de una manera muy sencilla

Aquí tenemos nuestro juego, y con el mouse en este caso será con el dedo lanzándole un proyectil  eliminaríamos al enemigo que en este caso el el muñeco rojo

Una vez nuestro objeto colisioné con el enemigo, este dará volteretas y se eliminara. Así que vamos a empezar

Vamos a nuestro cámara y hay tenemos un script que os pondré en la descripción

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

public class disparodesdelacamara : MonoBehaviour
{

    private Vector3 target;

    private Vector3 mousePos;
    private Vector3 objectPos;
    public GameObject disparo;


    // Use this for initialization
    void Start()
    {
        Cursor.visible = true;
    }

    // Update is called once per frame
    void Update()
    {



        if (Input.GetButtonDown("Fire1"))
        {
            mousePos = Input.mousePosition;
            mousePos.z = 2.0f;
            objectPos = Camera.main.ScreenToWorldPoint(mousePos);
            Instantiate(disparo, objectPos, Quaternion.identity);

        }
    }
}

Aquí tendremos el script de la cámara

este seria el script de la cámara, donde pone «Disparo» hay pondríamos la bola negra con ojos, ahora a la bola negra con ojos vamos a crear un script que seria una muy simple que desapareciese pasado un segundo , para que no ocupe espacio una vez el juego se  reproduce

aquí tenemos  a la bola con ojos tiene un script que ahora pondré en la descripción, un Box Collider 2D con el Is Trigger activado , y una Tag llamado dos

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

public class destruirobjeto : MonoBehaviour
{
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        Destroy(gameObject, 1f);

    }
}

este seria el script de la bola, que permanecería en la carpeta de Prefab, ahora vamos al script del enemigo

y le creamos el Script que tenemos en pantalla y entre los dos paréntesis ponemos «dos» con esto nuestro personaje se eliminaría, pero no realizaría ninguna animación. importante que nuestro personaje tenga el rigbody2d con la gravedad 0. ahora creamos dos animaciones una de caminar y la otra ELIMINAR, que  será la que realice cuando le toque nuestro proyectil  . así que vamos a crear dos animaciones a nuestro enemigo.

 

Aquí tenemos a nuestras dos animaciones, la de caminar es la principal.

y ahora en el script del enemigo creamos lo siguiente

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

public class enemigo : MonoBehaviour
{ /// </summary>
    public float moveSpeed = 3f;
    private Animator animactionenemigo;
  
    public bool deatr;
    Transform lefWayPoint, rigWayPOint;
    Vector3 localScale;
    bool movinRIght = true;
    Rigidbody2D rb;

    void Start()
    {
        animactionenemigo = GetComponent<Animator>();
     
        localScale = transform.localScale;
        rb = GetComponent<Rigidbody2D>();
        lefWayPoint = GameObject.Find("LefWaupoin").GetComponent<Transform>();
        rigWayPOint = GameObject.Find("RigfWaupoin").GetComponent<Transform>();

    }
    void Update()
    {


        if (transform.position.x > rigWayPOint.position.x)
            movinRIght = false;
        if (transform.position.x < lefWayPoint.position.x)
            movinRIght = true;

        if (movinRIght)
            movinRIg();
        else
            movelef();


    }


    void movinRIg()
    {

        movinRIght = true;
        localScale.x = 1;
        transform.localScale = localScale;
        rb.velocity = new Vector2(localScale.x * moveSpeed, rb.velocity.y);
    }

    void movelef()
    {
        movinRIght = false;
        localScale.x = -1;
        transform.localScale = localScale;
        rb.velocity = new Vector2(localScale.x * moveSpeed, rb.velocity.y);


    }


    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == "dos")
        {

            animactionenemigo.Play("ELIMINAR");
            Destroy(gameObject, 0.9f);

        }

    }


}

 

Related Posts

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Raphinha, el gran olvidado del Barcelona: cuando el marketing pesa más que el rendimiento Raphinha me parece uno de los grandes olvidados de este Barcelona, y sinceramente creo que es…

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El Barça gana 5-2, Lamine vuelve a marcar, pero para mí el alma de este equipo sigue siendo Raphinha Ayer el Barcelona ganó 5-2 al Rayo Vallecano y, evidentemente, estamos…

One thought on “Disparar al enemigo

Deja una respuesta

You Missed

¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

  • Por admin
  • septiembre 3, 2026
  • 21 views
¿Por qué hablamos tanto de Lamine si Raphinha está siendo el mejor del Barcelona?

Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

  • Por admin
  • septiembre 1, 2026
  • 23 views
Lamine tiene el futuro, pero el presente del Barcelona se llama Raphinha

El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

  • Por admin
  • septiembre 1, 2026
  • 24 views
El tiempo también gana a Messi: Argentina dice adiós a una leyenda irrepetible

Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

  • Por admin
  • agosto 28, 2026
  • 27 views
Raphinha y diez más: el Barça gana, pero Lamine Yamal vuelve a dejar dudas

Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

  • Por admin
  • agosto 27, 2026
  • 45 views
Cuando Mbappé y Vinícius juegan el uno para el otro, el Real Madrid es otro equipo

Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia

  • Por admin
  • agosto 27, 2026
  • 32 views
Lamine Yamal no es Messi ni Cristiano: dejémosle escribir su propia historia