SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Building System
Divulgaçao de Battle of Worlds
Problema nesse pequeno script
Deixar objeto invisível.
Como fazer barco estilo minecraft ou estilo navio que da pra andar dentro
[TUTORIAL] Sistema de inventário Sobrevivência
Movimentação
Seguir um raio no raycast a partir do ponto da tela clicado
Puzzle para jogo de terror , abrir portas etc..
Personagem morrer ao cair da tela
Script para mudar posição do personagem
Baixos Brasil - Jogo de Carro Brasileiro!
Como saber quando minha animação terminou?
system inventory , craft
ajuda
Aplicar roupa no Rig do blender...
Project Valley of Trees - Primeiro nome que faz sentido KK
A.S TRUCK
Som de correr não para de tocar
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Como Colocar Pontuação Final na GUI de GAME OVER
Unity 2017 Iluminação RealTime VS Baked [Comparaçâo]
DUVIDA : Raycast
Programador para equipe
Da pra colocar sisteminha em um jogo da unity pra trolar quem for piratear o jogo?
Como colocar musicas em sequencia para tocar?
Adicionar linhas no TXT pelo codigo
Trajetória da bala com predição
Ajudinha com Bug
[RESOLVIDO] Poblema com Rigidbody
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Erro ao bulidar para Windows(.exe)
Mudar a gravidade com rotação (sensores do smartphone)
Problemas na detecção de colisão
Trabalhar simultaneamente na Unity
Movimetaçao infinita
(duvida)pq isso acontece com o inimigo?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[DUVIDA] Como alterar a intensidade do ChromaticAberration do PostProcessing?
Joystick VR não funciona no ios
Problema na minha animação feita na Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
IA para inimigo seguir o jogador ( Plataforma )
Tirar Fotos no Unity 5 FPS
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Como Limitar Spawn de Hordas
Desmembramento
Exemplo de UI com abas - utilizando toggles e toggle group.
Ajuda Blender
Quando Instancio botão ele não aparece no canvas
Sistema de pesca 2D
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Auto-Complete do Visual Studios
Metroidvania - procuro membros
Criação de Update para Seus jogos?
Blender, animação + Unity
Preciso de alguém que desenvolva Craft, e Inventario com sistema de Bolsas, Pago bem
Detectar Hit
[MODELADOR] Procurando Projetos
Carákas que Tops WO.OW
Anexar GameObject por scrit
Como cria um sistema de seve game
[DUVIDA] Trocar botoes no teclado por joystick UI
Efeito de Audio
Bug de sumir todas as modelagens 3D na unity 2017
Quero fazer minha propria lens flare
Menu para selecao de cena
Dificuldades com programação no Unity 5 2D
Bug ? offline e online
Conflito de ações HELP
como saber a posição que a particula bateu?
Formação de Equipe Battle of Worlds
[JOGO EM BETA] Batalha de Canhão
Jogo de sobrevivência na ilha PRE-Alpha
Inimigo ao encostar morre e player leva dano UNITY 5 2D
Como faço blocos que somem so clikando neles 1 vez?
Light Bug
Como criar inventário simples no unity
Como fasso para que clico em um botao e aumente o volume junto com grave em uma musica?
como que criar um sitema tipo o do rocket league
tem como criar um modelo no sketchup e exportar pra unity, mas sem os componentes
(duvida)pq aconteçe isso com a luz
Como posso deixar o MENU do meu jogo adequado ao monitor?
Dúvida com o Update
Como eu realizo um inimigo que atira(tipo os inimigos do Warface)?
Bug Chato
Particulas de poeira
Faltando algumas opções no Unity
Audio Player C#
volume do som de acordo com distancia
Shotgun mata um inimigo 4 vezes
Duvida com troca de sprite quando muda camera
Ajuda com script para instanciar objetos no servidor
[TUTORIAL] Sistema de Oficina de Carros
Collider mal funcionando com Raycast
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Preciso de alguém que modele um escritório - Com recompensa.
Luz Mobile!
Hoje à(s) 12:13 am
Hoje à(s) 12:03 am
Ontem à(s) 11:53 pm
Ontem à(s) 10:15 pm
Ontem à(s) 10:12 pm
Ontem à(s) 9:12 pm
Ontem à(s) 9:00 pm
Ontem à(s) 8:34 pm
Ontem à(s) 8:17 pm
Ontem à(s) 7:40 pm
Ontem à(s) 6:49 pm
Ontem à(s) 4:29 pm
Ontem à(s) 12:25 pm
Ontem à(s) 12:14 pm
Ontem à(s) 10:55 am
Ontem à(s) 10:26 am
Ontem à(s) 8:21 am
Ontem à(s) 2:42 am
Seg Set 18, 2017 10:20 pm
Seg Set 18, 2017 9:16 pm
Seg Set 18, 2017 8:40 pm
Seg Set 18, 2017 8:39 pm
Seg Set 18, 2017 8:08 pm
Seg Set 18, 2017 4:33 pm
Seg Set 18, 2017 2:22 pm
Seg Set 18, 2017 12:15 pm
Seg Set 18, 2017 9:33 am
Seg Set 18, 2017 9:28 am
Seg Set 18, 2017 8:21 am
Seg Set 18, 2017 12:59 am
Dom Set 17, 2017 5:04 pm
Dom Set 17, 2017 3:45 pm
Dom Set 17, 2017 10:49 am
Sab Set 16, 2017 11:18 pm
Sab Set 16, 2017 5:57 pm
Sab Set 16, 2017 4:10 pm
Sab Set 16, 2017 3:05 pm
Sab Set 16, 2017 2:23 pm
Sab Set 16, 2017 12:40 pm
Sab Set 16, 2017 12:16 pm
Sab Set 16, 2017 10:17 am
Sab Set 16, 2017 9:53 am
Sab Set 16, 2017 9:26 am
Sab Set 16, 2017 9:10 am
Sex Set 15, 2017 11:51 pm
Sex Set 15, 2017 8:27 pm
Sex Set 15, 2017 7:27 pm
Sex Set 15, 2017 6:17 pm
Sex Set 15, 2017 3:08 pm
Sex Set 15, 2017 11:19 am
Sex Set 15, 2017 9:43 am
Qui Set 14, 2017 11:50 pm
Qui Set 14, 2017 9:08 pm
Qui Set 14, 2017 3:17 pm
Qui Set 14, 2017 1:55 pm
Qui Set 14, 2017 12:13 pm
Qui Set 14, 2017 10:07 am
Qua Set 13, 2017 9:52 pm
Qua Set 13, 2017 11:34 am
Ter Set 12, 2017 10:33 pm
Ter Set 12, 2017 10:21 pm
Ter Set 12, 2017 9:34 pm
Ter Set 12, 2017 8:52 pm
Ter Set 12, 2017 8:51 pm
Ter Set 12, 2017 7:05 pm
Ter Set 12, 2017 6:53 pm
Ter Set 12, 2017 6:51 pm
Ter Set 12, 2017 3:04 pm
Ter Set 12, 2017 2:04 pm
Ter Set 12, 2017 11:54 am
Ter Set 12, 2017 9:59 am
Ter Set 12, 2017 9:43 am
Ter Set 12, 2017 12:17 am
Seg Set 11, 2017 8:54 pm
Seg Set 11, 2017 8:48 pm
Seg Set 11, 2017 8:12 pm
Seg Set 11, 2017 7:18 pm
Seg Set 11, 2017 6:15 pm
Seg Set 11, 2017 6:02 pm
Seg Set 11, 2017 5:31 pm
Seg Set 11, 2017 5:22 pm
Seg Set 11, 2017 5:06 pm
Seg Set 11, 2017 4:53 pm
Seg Set 11, 2017 4:17 pm
Seg Set 11, 2017 4:15 pm
Seg Set 11, 2017 4:14 pm
Seg Set 11, 2017 3:54 pm
Seg Set 11, 2017 3:53 pm
Seg Set 11, 2017 3:51 pm
Seg Set 11, 2017 11:42 am
Seg Set 11, 2017 3:13 am
Dom Set 10, 2017 11:31 pm
Dom Set 10, 2017 9:03 pm
Dom Set 10, 2017 7:39 pm
Dom Set 10, 2017 7:26 pm
Dom Set 10, 2017 2:06 pm
Dom Set 10, 2017 2:00 pm
Dom Set 10, 2017 9:13 am
Sab Set 09, 2017 11:15 pm
Dom3000
AndyShow
Dom3000
g
Weslley
Weslley
Phph09
Weslley
Phph09
Zecandy
GabriG07
Weslley
Duarte
artplayer
PatifeCraft
Lteo
Fagner
Madness
PatifeCraft
dstaroski
eduu10
JorgeLuizxd
MateusWTP
Weslley
Brunotrinkss
guimaraf
Weslley
Weslley
guimaraf
ManoTrevor
PedroL123
dstaroski
GabriG07
Brgs886
Madness
Fagner
PedroL123
glauco
Callyde Jr
JorgeLuizxd
Henrique Ramires
Weslley
Weslley
Weslley
Weslley
Weslley
Weslley
916anderson
rafaelllsd
Fagner
Fagner
rafaelllsd
PatifeCraft
Weslley
Carlin
artplayer
Ronnisz
Jhonatham1
Callyde Jr
mrariel2011
AndyShow
Fagner
PatifeCraft
Alerson Software
AndyShow
AndyShow
AndyShow
Alessandra Matheus
Lteo
Callyde Jr
Weslley
Dom3000
Dom3000
dstaroski
dstaroski
guilhermeprata
DUT
Duarte
PatifeCraft
heliab125
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
MarcosSchultz
lantreco
MarcosSchultz
MarcosSchultz
MarcosSchultz
Weslley
Encracker
916anderson
DUT
Feromark2013
Duarte
Encracker
rafaelllsd
BRGC
Fagner

Como Limitar Spawn de Hordas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Como Limitar Spawn de Hordas

Mensagem por RobinF em Qua Set 13, 2017 1:56 pm

Olá pessoal preciso de ajuda com meu código. Meu jogo é do gênero space shooter e resolvi criar hordas de inimigos. Não entendo praticamente nada de programação e o meu código foi retirado passo-a-passo de um 
tutorial de plataforma em inglês. O código faz o seguinte, eu defino quantas hordas vou ter, e em cada delas a quantidade de inimigos e o tempo de cada um aparecer. Assim que todos os inimigos daquela horda são destruídos, a próxima horda vem. Há um tempo
de spawn entre cada horda, definido que quando uma horda terminar, a outra vai vir em 5 segundos. O código tá rodando belezinha, mas o problema é que ele fica rodando infinitamente e eu não quero isso, quero que ele pare de rodar assim 
que todas as hordas forem completadas. Por exemplo, se eu coloquei 3 hordas, assim que o jogador passar pelas 3 hordas o código vai parar de rodar e o jogo termina. Então preciso de uma explicação sobre o que eu tenho que fazer. Abaixo segue o código completo.


Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpawnDeHordas : MonoBehaviour {

 private int valorHorda;
 public NHorda adicionaHorda;

 public enum SpawnState {SPAWNING, ESPERANDO, CONTANDO};

 [System.Serializable]
 public class Horda
 {
 public string nomeDaHorda;
 public Transform inimigo;
 public int contador;
 public float rate;

 }

 public Horda[] hordas;
 private int proximaHorda = 0;

 public float tempoEntreHordas = 5f;
 public float contadorDeHorda;

 private float procurarContador = 1f;

 private SpawnState state = SpawnState.CONTANDO;

 void Start()
 {
 contadorDeHorda = tempoEntreHordas;
 adicionaHorda = FindObjectOfType<NHorda>();
 }

 void Update()
 {
 if(state == SpawnState.ESPERANDO)
 {
 if (!InimigoEstaVivo ())
 {
 HordaCompleta ();
 }
 else
 {
 return;
 }
 }

 if (contadorDeHorda <= 0) {
 if (state != SpawnState.SPAWNING)
 {
 StartCoroutine (SpawnHorda(hordas[proximaHorda]));
 }
 } else
 {
 contadorDeHorda -= Time.deltaTime;
 }
 }


 void HordaCompleta()
 {
 Debug.Log ("Horda Completa");

 state = SpawnState.CONTANDO;
 contadorDeHorda = tempoEntreHordas;

 if (proximaHorda + 1 > hordas.Length - 1) {
 proximaHorda = 0;
 Debug.Log ("Todas as Hordas foram completadas!");
 // adiciono aqui o que acontece quando o jogador termina as hordas. Fim de jogo vai aqui

 }
 else
 {
 proximaHorda++;
 adicionaHorda.numHorda+=valorHorda=1;
 }
 }



 bool InimigoEstaVivo()
 {
 procurarContador -= Time.deltaTime;
 if(procurarContador<=0f)
 {
 procurarContador = 1f;

 if (GameObject.FindGameObjectWithTag ("InimigoNave") == null)
 {
 return  false;
 }
 }

 return true;
 }

 IEnumerator SpawnHorda(Horda _horda)
 {
 
 state = SpawnState.SPAWNING;

 for (int i = 0; i < _horda.contador; i++)
 {
 SpawnInimigo (_horda.inimigo);
 yield return new WaitForSeconds (1f/_horda.rate);
 }

 state = SpawnState.ESPERANDO;

 yield break;
 }

 void SpawnInimigo(Transform _inimigo)
 {
 Debug.Log ("Spawing Inimigo: " + _inimigo.name);
 Instantiate (_inimigo, transform.position, transform.rotation);

 }



}
avatar
RobinF
Iniciante
Iniciante

PONTOS : 20
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Limitar Spawn de Hordas

Mensagem por AndyShow em Qua Set 13, 2017 3:38 pm

Pelo que eu Notei o Contador de Hordas é esse : 

contadorDeHorda

Crie um Limitador por Exemplo:

public int MaxHordas = 3;

Código:
  public int MaxHordas = 3;

  void Update(){
  if(contadorDeHorda <= MaxHordas){
    if(state == SpawnState.ESPERANDO)
    {
    if (!InimigoEstaVivo ())
    {
    HordaCompleta ();
    }
    else
    {
    return;
    }
    }

    if (contadorDeHorda <= 0) {
    if (state != SpawnState.SPAWNING)
    {
    StartCoroutine (SpawnHorda(hordas[proximaHorda]));
    }
    } else
    {
    contadorDeHorda -= Time.deltaTime;
    }
    }
  }

tem Varios Jeitos de Fazer mas assim vc Limita tudo que o Update esta Chamando pra Chamar só se o ContadordeHordas estiver Abaixo ou Igual ao MaxHordas que vc Limitou!

Espero que tenha Entendido!
avatar
AndyShow
Instrutor

Masculino PONTOS : 2284
REPUTAÇÃO : 549
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Limitar Spawn de Hordas

Mensagem por RobinF em Qui Set 14, 2017 12:55 am

AndyShow escreveu:Pelo que eu Notei o Contador de Hordas é esse : 

contadorDeHorda

Crie um Limitador por Exemplo:

public int MaxHordas = 3;

Código:
   public int MaxHordas = 3;

   void Update(){
   if(contadorDeHorda <= MaxHordas){
     if(state == SpawnState.ESPERANDO)
     {
     if (!InimigoEstaVivo ())
     {
     HordaCompleta ();
     }
     else
     {
     return;
     }
     }

     if (contadorDeHorda <= 0) {
     if (state != SpawnState.SPAWNING)
     {
     StartCoroutine (SpawnHorda(hordas[proximaHorda]));
     }
     } else
     {
     contadorDeHorda -= Time.deltaTime;
     }
     }
  }

tem Varios Jeitos de Fazer mas assim vc Limita tudo que o Update esta Chamando pra Chamar só se o ContadordeHordas estiver Abaixo ou Igual ao MaxHordas que vc Limitou!

Espero que tenha Entendido!


Olá Andy, vlw pela ajuda. Não sei se estou certo mas acho que o contadorDeHorda faz uma contagem regressiva para a próxima horda chegar. O que define quantas hordas vou ter é o size que ele pede no Inspector. Se eu colocar 3 ele vai criar 3 campos para que eu possa preencher com o prefab do inimigo, a qnt de inimigos a serem spawnados e o tempo entre cada spawn.

Minha classe Horda é uma string, então acho que a quantidade que eu marco se liga com a quantidade de hordas que eu vou ter, e ai depois que ele passa por todas elas ele fica fazendo um looping de todas elas em sequencia novamente


Código:
public class Horda
   {
      public string nomeDaHorda;
      public Transform inimigo;
      public int contador;
      public float rate;

   }

   public Horda[] hordas;

O que me intriga é que eu não estou conseguindo identificar no código a parte que se relaciona com o "size" da minha string Horda.  Porque se eu achar eu posso aplicar sua lógica, certo? Eu posso colocar que assim que ultrapassar o valor do size ele para o looping.
avatar
RobinF
Iniciante
Iniciante

PONTOS : 20
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Limitar Spawn de Hordas

Mensagem por RobinF em Sex Set 15, 2017 6:22 pm

Consegui fazer um jeito de acabar com o spawn.

Criei uma nova variável  
Código:
public GameObject hordaObject;

No método HordaCompleta() mandei ele destruir o meu Game Object Hordas e ficou assim entao:

Código:
if (proximaHorda + 1 > hordas.Length - 1) {
 proximaHorda = 0;
 Destroy (hordaObject);
 Debug.Log ("Todas as Hordas foram completadas!");

No Inspector eu coloquei que minha hordaObjetct é o meu instanciador Hordas então assim que todas as hordas forem completadas ele vai destruir meu instanciador. 
E desse jeito o looping de spawn acaba.
Foi mais simples do que eu imaginava, Neutral pena que ninguém soube responder mas fica a dica para quem tiver a mesma dúvida.
avatar
RobinF
Iniciante
Iniciante

PONTOS : 20
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como Limitar Spawn de Hordas

Mensagem por Weslley em Sex Set 15, 2017 7:27 pm

uma simples variável do tipo bool resolvia ;-;
avatar
Weslley
Moderador

Masculino PONTOS : 2704
REPUTAÇÃO : 579
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum