Como fazer um sistema de Spawn aleatório?
Página 1 de 1 • Compartilhe •
Como fazer um sistema de Spawn aleatório?
Estou criando um game de terror e quero fazer um sistema de spawn aleatório de uma chave. tentei fazer pelo o que eu conheço de programação.
mas está dando erro. se alguém poder me ajudar, agradeço desde já..
- Código:
using UnityEngine;
using System.Collections;
public class Spawn : MonoBehaviour {
public GameObject Chave;
public GameObject[] localChave;
public int minChave = 1, maxChave = 1;
void Start () {
int quantidade = Random.Range (minChave,maxChave);
if(quantidade > localChave.Length){
quantidade = localChave.Length;
}
for(int x = Random.Range (0,2); x < quantidade; x++){
Instantiate(Chave,localChave[x].transform.position,transform.rotation);
}
}
}
mas está dando erro. se alguém poder me ajudar, agradeço desde já..
DGDark- Iniciante
-
PONTOS : 935
REPUTAÇÃO : 3
Respeito as regras :
MayLeone- ProgramadorMaster
-
PONTOS : 795
REPUTAÇÃO : 235
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
Talvez ajude você https://unity3d.com/pt/learn/tutorials/projects/survival-shooter/more-enemies
Berlin- Iniciante
-
PONTOS : 243
REPUTAÇÃO : 9
Áreas de atuação : Aprendiz
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
Tem hora que da o spawn tem hora que não, e sempre no mesmo lugar mesmo que eu tenha colocado os locais@MayLeone escreveu:Qual erro está dando?
acho que esse script está montado errado
DGDark- Iniciante
-
PONTOS : 935
REPUTAÇÃO : 3
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
O que eu quero fazer é que a chave spawna em lugares diferentes do mapa cada vez que o jogo é iniciado
DGDark- Iniciante
-
PONTOS : 935
REPUTAÇÃO : 3
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
Você terá que utilizar este método:
Pois se você precisa gerar uma posição aleatória, mas sem repetir ela para cada número de objetos instanciados.
Pois se você precisa gerar uma posição aleatória, mas sem repetir ela para cada número de objetos instanciados.
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
boa noite,inves d x<quantidade, poderia colocar x<localchave.length, vai depender tambem do numero d chave,
Edit: ou melhor remover o for e apenas deixar apenas o Instatiate
Edit: ou melhor remover o for e apenas deixar apenas o Instatiate
- Código:
Instantiate(Chave, localChave[Random.Range(0,localChave.Length)].transform.position, transform.rotation);
Última edição por FelipeSouza11 em Qui Jul 26, 2018 9:20 pm, editado 1 vez(es)
FelipeSouza11- ProgramadorMaster
-
PONTOS : 1289
REPUTAÇÃO : 167
Idade : 28
Áreas de atuação : Triste no momento,sem notebook sem pc ,nada!
Respeito as regras :
Re: Como fazer um sistema de Spawn aleatório?
Um exemplo simples, que funciona de forma perfeita:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spawn : MonoBehaviour {
public GameObject chave;
public GameObject[] posicoes;
[Range(1,50)]
public int maximoDeChaves = 5;
List<int> numeros = new List<int>();
void Start () {
int maxChaves = Random.Range (1, maximoDeChaves + 1);
if (maxChaves > posicoes.Length) {
maxChaves = posicoes.Length;
}
for (int x = 0; x < posicoes.Length; x++) {
numeros.Add (x);
}
for (int x = 0; x < maxChaves; x++) {
if (numeros.Count > 0) {
GerarNumerosAleatorios ();
}
}
}
void GerarNumerosAleatorios(){
int indice = Random.Range (0, numeros.Count);
int numeroSorteado = numeros [indice];
Instantiate (chave, posicoes [numeroSorteado].transform.position, posicoes [numeroSorteado].transform.rotation);
numeros.Remove (numeros [indice]);
}
}
MarcosSchultz- Administrador
-
PONTOS : 61441
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :

» Como fazer uma abertura e fechamento de caixa no Access
» [Resolvido] [Resolvido] Como fazer um litígio
» Como fazer isso???
» [Resolvido] Como fazer uma Página inicial???
» Como fazer uma pagina no meu foru igual a esta?
» [Resolvido] [Resolvido] Como fazer um litígio
» Como fazer isso???
» [Resolvido] Como fazer uma Página inicial???
» Como fazer uma pagina no meu foru igual a esta?
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum