Noticias

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

Spawn por rondas

Iniciado por marboxrem, Octubre 25, 2015, 03:32:35 AM

Tema anterior - Siguiente tema
Octubre 25, 2015, 03:32:35 AM Ultima modificación: Octubre 25, 2015, 03:32:49 AM por marboxrem
Hola, tengo una pregunta, yo tengo este script que me spawnea enemigos cada 3 segundos en 2 puntos(a mi eleccion) el cual se detiene cuando el player muere, lo que quisiera saber es que tengo que agregarle para que mi spawn me genere cierta cantidad de enemigos y despues de que mate a esa cantidad de enemigos estos me using UnityEngine;
using System.Collections;public class SpawnControlado : MonoBehaviour
{    public PlayerHealth playerHealth;       
    public GameObject enemy;                
    public float spawnTime = 3f;            
    public Transform[] spawnPoints;         
    void Start()
    {
        
        InvokeRepeating("Spawn", spawnTime, spawnTime);
    }
    void Spawn()
    {
        
        if (playerHealth.currentHp <= 0f)
        {
            
            return;
        }        
        int spawnPointIndex = Random.Range(0, spawnPoints.Length);        
        Instantiate(enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    }
}

Para que se respawnen un numero de enemigos usa esto: 
using UnityEngine;
using System.Collections;

public class SpawnControlado : MonoBehaviour
{

    public PlayerHealth playerHealth;      
    public GameObject enemy;      
public int enemies = 5;
    public float spawnTime = 3f;            
    public Transform[] spawnPoints;      

    void Start()
    {
       
        InvokeRepeating("Spawn", spawnTime, spawnTime);
    }


    void Spawn()
    {
       
        if (playerHealth.currentHp <= 0f)
        {
           
            return;
        }

       
        int spawnPointIndex = Random.Range(0, spawnPoints.Length);

        for(int e = 0;e<enemies;e++)
      Instantiate(enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    }
}
 

Octubre 26, 2015, 02:59:49 PM #2 Ultima modificación: Octubre 26, 2015, 03:00:09 PM por KaceEDP
Yo trataría de almacenar en el script el número actual de enemigos vivos que hay en la escena, y que si éste llega a cero, se sume uno la ronda actual y se vuelva a llamar a la función que spawnea a los enemigos. No sé, tu pregunta ha quedado un poco en el aire porque no la has terminado xD 

Etiquetas: