Jump to content
UnitySpain
Sign in to follow this  
PmL_Unity

[RESUELTO]Ayuda Con Enemigo

Recommended Posts

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. 

Edited by PmL_Unity
resuelto

Share this post


Link to post
Share on other sites
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...

Edited by Igor

Share this post


Link to post
Share on other sites
hace 12 horas, Igor said:

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!

Share this post


Link to post
Share on other sites

Marca el hilo como pregunta resulta "Best Answer" men/woman.

Edited by pioj
querías decir eso, no?

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...