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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Servidores sem limite por usuário.
Tocar som em script que exibe uma mensagem
Como ativar animação quando o objeto se move ?? sem rigidbody
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Manager Como fazer um jogo nesse estilo?
[DÚVIDA] TIRANOSSAURO REX no UNITY?
Verificar se a camera está virada para o objeto
[TUTORIAL] Animação customizável (Por scripts)
tem como excluir uma( ou várias ) contas do fórum?
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com animação
Sons na Unity 2017
[TUTORIAL] Criar jogo Colors/Genius com C#
Jumper boy
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
Unity - Rodar 2 cenas ao mesmo tempo
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
[PROJETO MOBILE] Defeat the Illuminatis
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
[RESOLVIDO] Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
problema com Script
Efeitos de particulas
Duvidas/ideias sobre o forum
Hoje à(s) 11:50 am
Hoje à(s) 9:39 am
Hoje à(s) 7:16 am
Hoje à(s) 6:36 am
Hoje à(s) 6:19 am
Hoje à(s) 12:54 am
Ontem à(s) 9:49 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:14 pm
Ontem à(s) 8:12 pm
Ontem à(s) 8:08 pm
Ontem à(s) 7:00 pm
Ontem à(s) 3:50 pm
Seg Jun 18, 2018 10:51 pm
Seg Jun 18, 2018 7:29 pm
Seg Jun 18, 2018 6:46 pm
Seg Jun 18, 2018 6:45 pm
Seg Jun 18, 2018 6:43 pm
Seg Jun 18, 2018 6:38 pm
Seg Jun 18, 2018 4:36 pm
Seg Jun 18, 2018 3:42 pm
Seg Jun 18, 2018 3:33 pm
Seg Jun 18, 2018 1:26 pm
Seg Jun 18, 2018 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Dom Jun 17, 2018 11:20 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
Qui Jun 07, 2018 8:56 pm
Qui Jun 07, 2018 8:47 pm
Qui Jun 07, 2018 5:24 pm
Qua Jun 06, 2018 11:22 pm
Phph09
Phph09
dstaroski
NKKF
Callyde Jr
gcs13
MRX
Zack2
SuperGamer
rafaelllsd
NKKF
dstaroski
M4theuz
SuperGamer
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
guimaraf
fecirineu
fecirineu
ismarspn
SuperGamer
MRX
NKKF
natanael.olimpio
dstaroski
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
MRX
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
MRX
Zack2
dstaroski
MRX
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski
kenau
kenau
Phph09
Zack2

Como Limitar Spawn de Hordas

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
Newbie
Newbie

Posts : 15
Pontos : 301
Reputação : 0
Registro : 13/09/2017
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 Posts : 1066
Pontos : 2612
Reputação : 569
Registro : 12/03/2016
Idade : 35
Á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
Newbie
Newbie

Posts : 15
Pontos : 301
Reputação : 0
Registro : 13/09/2017
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, Neutro pena que ninguém soube responder mas fica a dica para quem tiver a mesma dúvida.
avatar
RobinF
Newbie
Newbie

Posts : 15
Pontos : 301
Reputação : 0
Registro : 13/09/2017
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 Posts : 1592
Pontos : 3106
Reputação : 624
Registro : 31/01/2016
Idade : 20
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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