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

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados? Ayer el Real Madrid consiguió una victoria frente a la Roma en un partido…

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

JOAN GASPART a LEO MESSI Gaspart, Messi y el Barça: el club está por encima de todos, pero su historia no se puede borrar «¿Quién se ha creído? Que vaya…

One thought on “Disparar al enemigo”

Deja una respuesta

You Missed

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

  • Por admin
  • octubre 15, 2026
  • 20 views
El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

  • Por admin
  • octubre 13, 2026
  • 18 views
El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?

  • Por admin
  • octubre 10, 2026
  • 50 views
Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?
El último baile del 10

Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

  • Por admin
  • octubre 5, 2026
  • 53 views
Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

Cristiano y Portugal: una historia demasiado grande para terminar de esta manera

  • Por admin
  • octubre 4, 2026
  • 23 views
Cristiano y Portugal: una historia demasiado grande para terminar de esta manera