ajuda em inimigos aleatorios
3 participantes
Página 1 de 1
ajuda em inimigos aleatorios
Bom dia gente sou novo na area unity e conhecimento bem basico em tudo
gostaria de saber como posso fazer para criar um spawner de varios inimigos..
estou iniciante a tentativa de um game clicker estilo clicker heroes porem em 3D que quando mato um inimigo ele e destruido assim aparecendo outro aleatorio
me disseram que usaria array so que não to conseguindo chamar aleatoriamente cada um dessa array quando um morre =/
quem puder dar um help ai fico extremamente grato, a proposito gostaria de agradecer principalmente o marcos minha escola tem sido o canal dele e aos tutoriais do site vlw =D
gostaria de saber como posso fazer para criar um spawner de varios inimigos..
estou iniciante a tentativa de um game clicker estilo clicker heroes porem em 3D que quando mato um inimigo ele e destruido assim aparecendo outro aleatorio
me disseram que usaria array so que não to conseguindo chamar aleatoriamente cada um dessa array quando um morre =/
quem puder dar um help ai fico extremamente grato, a proposito gostaria de agradecer principalmente o marcos minha escola tem sido o canal dele e aos tutoriais do site vlw =D
Sting- Iniciante
- PONTOS : 2134
REPUTAÇÃO : 0
Respeito as regras :
Re: ajuda em inimigos aleatorios
Uso assim
- Código:
using UnityEngine;
using System.Collections;
public class RandomSpawner : MonoBehaviour
{
public int level = 1;
bool isSpawning = false;
public float minTime = 5.0f;
public float maxTime = 15.0f;
public GameObject[] enemies; // Array of enemy prefabs.
public int quantidade;
public int kills;
public static RandomSpawner rs;
private int quantMax = 2;
void Start(){
rs = this;
quantidade = quantMax;
}
IEnumerator SpawnObject(int index, float seconds)
{
Debug.Log ("Waiting for " + seconds + " seconds");
yield return new WaitForSeconds(seconds);
Instantiate(enemies[index], transform.position, transform.rotation);
quantidade -= 1;
//We've spawned, so now we could start another spawn
isSpawning = false;
}
void Update ()
{
if(quantidade > 0){//for maior que zero spawn
//We only want to spawn one at a time, so make sure we're not already making that call
if(! isSpawning)
{
isSpawning = true; //Yep, we're going to spawn
int enemyIndex = Random.Range(0, enemies.Length);
StartCoroutine(SpawnObject(enemyIndex, Random.Range(minTime, maxTime)));
}
}
UpLevel();
}
void UpLevel(){
if(kills >= quantMax){
level++;
quantMax = * level;
quantidade = quantMax;
kills = 0;
}
}
}
- Código:
RandomSpawner.rs.kills += 1;
Re: ajuda em inimigos aleatorios
vish não sei que q rolou mas deu monte de erro 0_0
o inimigo no meu caso vai ficar parado maximo que vai fazer e so entrar em animação quando eu clicar nele
porem oque ta me agarando é a parte q ele morre
quero tipo...
1 spawner que vai ter no array 10 inimigos diferentes
quando um morrer aleatoriamente apareça um entre esses 10 pra quando o limite de 10 morrerem entrar outra cena
ja to nessa a um tempo quebrando a cabeça ^^ todos tutoriais que cacei no youtube so ensina fazer jogos clicker em 2D ^^
o inimigo no meu caso vai ficar parado maximo que vai fazer e so entrar em animação quando eu clicar nele
porem oque ta me agarando é a parte q ele morre
quero tipo...
1 spawner que vai ter no array 10 inimigos diferentes
quando um morrer aleatoriamente apareça um entre esses 10 pra quando o limite de 10 morrerem entrar outra cena
ja to nessa a um tempo quebrando a cabeça ^^ todos tutoriais que cacei no youtube so ensina fazer jogos clicker em 2D ^^
Sting- Iniciante
- PONTOS : 2134
REPUTAÇÃO : 0
Respeito as regras :
Re: ajuda em inimigos aleatorios
Oi Sting!
Olha, não vou postar um código pronto pra aguçar a sua curiosidade e você aprender (e também porque to no trabalho hehe). Porém, vou te dar uma luz e uma lógica pra você seguir!
Basta fazer assim (explicando de uma maneira simples e uma lógica também simples)
- Crie um GameObject e um script para gerenciar os spawns.
- Crie o script de cada inimigo. No script do inimigo, assim que a vida zerar, você acessa o GameObject gerenciador (criado acima) e executa a função "SpawnarNovoInimigo()"por exemplo. Fazendo isso, você já tem como spawnar novos inimigos sempre que 1 morrer.
- No script gerenciador, simplesmente crie a array de inimigos e use a função Random.Range do C# no Vector3 de posição do Instantiate para ter uma posição aleatória de spawn.
Tome cuidado com o uso do Instantiate, prefira usar um sistema de Pool, pois é mais leve e você não gasta muita memória RAM do dispositivo. Pool nada mais é do que você deixar por exemplo, 10 inimigos na cena (porém desativados) então quando eles forem spawnar, você move o inimigo pra posição aleatória desejada e então o ativa! Esse é o método mais rápido e leve!
Olha, não vou postar um código pronto pra aguçar a sua curiosidade e você aprender (e também porque to no trabalho hehe). Porém, vou te dar uma luz e uma lógica pra você seguir!
Basta fazer assim (explicando de uma maneira simples e uma lógica também simples)
- Crie um GameObject e um script para gerenciar os spawns.
- Crie o script de cada inimigo. No script do inimigo, assim que a vida zerar, você acessa o GameObject gerenciador (criado acima) e executa a função "SpawnarNovoInimigo()"por exemplo. Fazendo isso, você já tem como spawnar novos inimigos sempre que 1 morrer.
- No script gerenciador, simplesmente crie a array de inimigos e use a função Random.Range do C# no Vector3 de posição do Instantiate para ter uma posição aleatória de spawn.
Tome cuidado com o uso do Instantiate, prefira usar um sistema de Pool, pois é mais leve e você não gasta muita memória RAM do dispositivo. Pool nada mais é do que você deixar por exemplo, 10 inimigos na cena (porém desativados) então quando eles forem spawnar, você move o inimigo pra posição aleatória desejada e então o ativa! Esse é o método mais rápido e leve!
Re: ajuda em inimigos aleatorios
Nao entedi muito o que voce disse
A quela variavel kills sao a quantidade de mortos
- Código:
quando um morrer aleatoriamente apareça um entre esses 10 pra quando o limite de 10 morrerem entrar outra cena
A quela variavel kills sao a quantidade de mortos
Tópicos semelhantes
» AJUDA EM SPANW OBSTACULOS ALEATÓRIOS
» Respawnar O Inimigo em Pontos Aleatórios
» IA dos inimigos em 3° pessoa fps "Inimigos humanos em um FPS"
» Obstaculos aleatorios
» Números aleatorios
» Respawnar O Inimigo em Pontos Aleatórios
» IA dos inimigos em 3° pessoa fps "Inimigos humanos em um FPS"
» Obstaculos aleatorios
» Números aleatorios
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos