Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[RESUELTO]Ayuda Con Enemigo

Iniciado por PmL_Unity, Julio 24, 2018, 11:00:03 PM

Tema anterior - Siguiente tema
Julio 24, 2018, 11:00:03 PM Ultima modificación: Agosto 05, 2018, 10:16:59 PM por PmL_Unity
Hola, 1 -¿ alguien sabe como se puede hacer para que un enemigo cuando muera suelte cosas por ejemplo una poción de vida?
 
          2- tambien me gustaria saber como se puede hacer para generar oleadas de enemigos, por ejemplo  primero salen 4 enemigos y después cuando se eliminen esos enemigos salen otros 4 y así hasta que finalice las oleadas. 

Julio 25, 2018, 01:55:58 AM #1 Ultima modificación: Julio 25, 2018, 02:03:12 AM por Igor

enemy
public GameObject[] items;
//tus posibles items
float life = 100;
 
void Update() {
   ...
 
   if (life < 1) {
      death();
   }
}
               
void death() {
   int objNum = (int)Random.Range (0, items.Length);
   Instantiate (items[objNum], transform.position, transform.rotation);
   Destroy(this.gameObject);
}


spawner
public float waveCountDown = 120f; //dos minutos
private float timer = 0f;
public int enemyCount = 4;//cuantos enemigos "spawnea" cada vez
public float radius = 10f;//radio donde se "spawnean" alrededor de este objeto
public GameObject enemy;//el enemigo
  
void Update() {
   timer += Time.deltatime;
   if (timer > waveCountDown) {
      timer = 0;
      spawn();
   }
}
void spawn() {
 
   for (int i = 0; i < enemyCount; i++) {//bucle (tantos enemigos como hayas puesto)
      Vector3 pos = new Vector3(Random.Range(-radius, radius), 0f, Random.Range(-radius, radius));     
     //posicion aleatoria dentro de ese area
      pos += transform.position;  //añadir la posicion de este obj    
      Instantiate(enemy, pos, transform.rotation);//crear enemigo
   }
}

 
ahi van dos fragmentos sencillos de codigo que hacen lo que dices
 
el primero suelta items al morir (un item, de entre una lista de items que le pongas)
 
el segundo crea 4 enemigos cada dos minutos en un area de 20*20 alrededor del objeto que lo posea...
 
los he hecho lo mas basico... obviamente se puede hacer todo lo complejo que quieras... que los items salgan como con un impulso... puedes instanciar tambien una explosion (hecha con particulas porejemplo) 
 
...si quieres que el primero suelte mas de un item puedes hacer un bucle como en el segundo...

Cita de: Igor date=1532476558

enemy
public GameObject[] items;
//tus posibles items
float life = 100;
 
void Update() {
   ...
 
   if (life < 1) {
      death();
   }
}
               
void death() {
   int objNum = (int)Random.Range (0, items.Length);
   Instantiate (items[objNum], transform.position, transform.rotation);
   Destroy(this.gameObject);
}

   

spawner
public float waveCountDown = 120f; //dos minutos
private float timer = 0f;
public int enemyCount = 4;//cuantos enemigos "spawnea" cada vez
public float radius = 10f;//radio donde se "spawnean" alrededor de este objeto
public GameObject enemy;//el enemigo
  
void Update() {
   timer += Time.deltatime;
   if (timer > waveCountDown) {
      timer = 0;
      spawn();
   }
}
void spawn() {
 
   for (int i = 0; i < enemyCount; i++) {//bucle (tantos enemigos como hayas puesto)
      Vector3 pos = new Vector3(Random.Range(-radius, radius), 0f, Random.Range(-radius, radius));     
     //posicion aleatoria dentro de ese area
      pos += transform.position;  //añadir la posicion de este obj    
      Instantiate(enemy, pos, transform.rotation);//crear enemigo
   }
}

   
      ahi van dos fragmentos sencillos de codigo que hacen lo que dices
   
   
      el primero suelta items al morir (un item, de entre una lista de items que le pongas)
   
   
      el segundo crea 4 enemigos cada dos minutos en un area de 20*20 alrededor del objeto que lo posea...
   
   
      los he hecho lo mas basico... obviamente se puede hacer todo lo complejo que quieras... que los items salgan como con un impulso... puedes instanciar tambien una explosion (hecha con particulas porejemplo) 
   
   
      ...si quieres que el primero suelte mas de un item puedes hacer un bucle como en el segundo...
   


Muchas gracias, me has ayudado un monton, saludos!

Julio 27, 2018, 01:24:00 AM #3 Ultima modificación: Julio 27, 2018, 11:38:27 AM por pioj
Marca el hilo como pregunta resulta "Best Answer" men/woman.

Etiquetas: