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:
[Formação de Equipe] Jogo de Luta Livre/Telecatch
[TUTORIAL] AI Enemy ( Jogos de terror )
Saiu o primeiro teaser do meu novo jogo Inferno Verde
Navmesh
Como fazer um loop na animação?
anúncios nos jogos
Erro com scrit para destruir objeto
Não consigo destruir o objeto!!!
MOUSE NA TELA
A pasta editor não esta na pasta Assets no unity 2018
O que acrescentar no script para fazer o personagem morrer??
DÚVIDA Material do Player(CLONE)
(Duvida) Salvando array com playerprefs
Resolution Screens Calculate
sistema de perguntas aleatórias de maneira que elas só se repetissem ao se passar todas
OS MAIORES JOGOS JÁ CRIADOS
Duvida a respeito da pesquisa do app na google play
[TUTORIAL] Mira que fica se movendo (ocilando,tremendo,etc)
[RESOLVIDO] Verificar se todos os objetos add em um array de gameobject estão ativos
Como fazer game responsivo
Erro de Luz
Uma Ideia Movimento
Dúvida Realidade aumentada
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
Imagem aparecer na tela ao colididir
Pode me ajudar com o Simple move
Morte do Player
Como fazer o personagem me atacar e fazer o personagem morrer??
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Troca de câmeras
[EM DESENVOLVIMENTO] Top Island
ME TIREM UMA DUVIDA DO ADMOB ANTES DE PUBLICAR O GAME
[RESOLVIDO] Terrain
Meu game para Android " As aventuras de Steff " finalizado, ou quase!
[DUVIDA]como saber se um jogo esta rodando nativamente 1080p
Diferenca entre bundle google play e split
Ajuda com spaw
Projeto de feira
historia para um jogo
[Projeto] Omega Racers - Steam Acesso antecipado
[RESOLVIDO] Erro build Android (NDK)
Erro ao dar play Unity
Transparência de objeto através do color.alfa
chamando animaçao depois de um tempo
[DUVIDA] SELECIONAR APP EM SEGUNDO PLANO NO CELULAR
App feito na Unity - Biblia Sagrada
[RESOLVIDO] Erro invisível na aba console (ALGUÉM ME AJUDA?)
DUVIDA IMPORTANTE SOBRE O EXPORT COM A OPCAO SPLIT NA UNITY
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[TUTORIAL] FPS Controller com corpo completo!
PROBLEMA NO BUILD UNITY ANDROID
Estou com problemas com o NavMeshAgent
Diálogos e Linguagens
suporte para g29
AJUDA COM EXPORTACAO "SPLIT" NA UNITY
Duvida(tamanho de objetos)
Erro no Unity 2019
[RESOLVIDO] Física ser calculada mais rápida
Física do Caminhão e Trailer
[RESOLVIDO] Duvida com FadeIn e FadeOut quando o tempo do jogo acaba
Bug Partículas
Problema com Dano ao Inimigo
Video Player travando no apk do jogo
Como fazer o personagem não conseguir flipar enquanto estou atacando? (Unity 2D)
como resolve esse erro?
[PHOTON] Algumas animações não sincronizam!
SER INSERIDA EM LUGARES RANDÔMICOS!
MACHADO ENCOSTAR NA ÁRVORE
[RESOLVIDO] como respawnar um objeto na minha frente?
Como criar assinatura mensal em jogo na play console
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
movendo personagem com rb duvida
Como ignorar um erro? fazer ele parar de aparecer no console?
Simulador de policia [C#] [Jogo em andamento] [Procurando Equipe]
Problema ao iniciar uma array statica
Arquivos com Casa, arvores, Gramas, Objetos3d Etc...
Ajuda com Raycast de hit para um objeto individual citado
Eu preciso de ajuda para um impulso de pinball
Problemas com movimentação do personagem [AJUDA]
Limite de camera em um jogo metroidvania
AJUDA COM ADMOB
Meu primeiro jogo + Link para download.
duvida player quicando ao descer desnivel
DUVIDA SOBRE - Target Android API
Mudar a Descrição do Elemment Array no Inspector Dinamicamente
[RESOLVIDO] Ajuda com States
Duvida com Script de AI inteligente
UNITY NAO APARECE PROJETOS
Criar Apk Android 64 .aab
Animaçoes
Aplicar física em animação.
Como mudar animação do sprite automaticamente?
PLAYER NAO MOVER ENQUANTO ESTA ABAIXADO
[RESOLVIDO] Detectar quando a animação do animator acaba para dar dano no player
Problema pra compilar jogo para Android 6.0
Unity2D- Fazer 2 inimigos nascerem depois entrar em um collider?
CHUVA AUTOMÁTICA
ME AJUDEM POR FAVORR!!
ATUALIZAR OU NAO O PROJETO?
Hoje à(s) 11:32 am
Hoje à(s) 11:07 am
Hoje à(s) 6:02 am
Hoje à(s) 5:47 am
Hoje à(s) 5:43 am
Ontem à(s) 11:26 pm
Ontem à(s) 10:42 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:21 pm
Ontem à(s) 8:16 pm
Ontem à(s) 8:15 pm
Ontem à(s) 1:27 pm
Ontem à(s) 11:49 am
Seg Nov 18, 2019 10:48 pm
Seg Nov 18, 2019 4:13 pm
Seg Nov 18, 2019 4:04 pm
Seg Nov 18, 2019 3:01 pm
Seg Nov 18, 2019 2:42 pm
Seg Nov 18, 2019 10:37 am
Seg Nov 18, 2019 4:37 am
Seg Nov 18, 2019 12:11 am
Seg Nov 18, 2019 12:07 am
Dom Nov 17, 2019 11:53 pm
Dom Nov 17, 2019 9:11 pm
Dom Nov 17, 2019 2:16 pm
Dom Nov 17, 2019 1:47 pm
Dom Nov 17, 2019 1:41 pm
Dom Nov 17, 2019 1:38 pm
Dom Nov 17, 2019 5:27 am
Sab Nov 16, 2019 9:40 pm
Sab Nov 16, 2019 2:46 am
Sex Nov 15, 2019 10:35 pm
Sex Nov 15, 2019 8:51 pm
Sex Nov 15, 2019 3:49 pm
Qui Nov 14, 2019 1:20 pm
Qui Nov 14, 2019 10:06 am
Qua Nov 13, 2019 7:26 pm
Qua Nov 13, 2019 3:50 pm
Qua Nov 13, 2019 3:40 pm
Qua Nov 13, 2019 12:36 pm
Qua Nov 13, 2019 8:39 am
Qua Nov 13, 2019 1:57 am
Ter Nov 12, 2019 11:48 pm
Ter Nov 12, 2019 7:41 pm
Ter Nov 12, 2019 7:35 pm
Ter Nov 12, 2019 5:28 pm
Ter Nov 12, 2019 12:52 pm
Ter Nov 12, 2019 10:57 am
Ter Nov 12, 2019 12:15 am
Seg Nov 11, 2019 11:13 pm
Seg Nov 11, 2019 3:37 pm
Seg Nov 11, 2019 2:29 pm
Seg Nov 11, 2019 3:03 am
Dom Nov 10, 2019 8:37 pm
Dom Nov 10, 2019 8:30 pm
Dom Nov 10, 2019 7:30 pm
Dom Nov 10, 2019 7:22 pm
Dom Nov 10, 2019 11:04 am
Dom Nov 10, 2019 10:23 am
Sab Nov 09, 2019 11:18 pm
Sab Nov 09, 2019 11:16 pm
Sab Nov 09, 2019 11:11 pm
Sab Nov 09, 2019 11:02 pm
Sab Nov 09, 2019 10:56 pm
Sab Nov 09, 2019 10:32 pm
Sab Nov 09, 2019 8:06 pm
Sab Nov 09, 2019 12:29 pm
Sex Nov 08, 2019 7:26 pm
Sex Nov 08, 2019 6:53 pm
Sex Nov 08, 2019 5:09 pm
Sex Nov 08, 2019 12:37 pm
Sex Nov 08, 2019 11:51 am
Sex Nov 08, 2019 7:17 am
Sex Nov 08, 2019 1:25 am
Sex Nov 08, 2019 12:00 am
Qui Nov 07, 2019 10:29 pm
Qui Nov 07, 2019 7:06 pm
Qui Nov 07, 2019 2:53 am
Qui Nov 07, 2019 12:01 am
Qua Nov 06, 2019 8:41 pm
Qua Nov 06, 2019 8:12 pm
Qua Nov 06, 2019 8:01 pm
Qua Nov 06, 2019 2:10 pm
Qua Nov 06, 2019 10:17 am
Qua Nov 06, 2019 3:13 am
Ter Nov 05, 2019 10:23 pm
Ter Nov 05, 2019 9:54 pm
Ter Nov 05, 2019 9:15 pm
Ter Nov 05, 2019 7:48 pm
Ter Nov 05, 2019 7:36 pm
Ter Nov 05, 2019 7:29 pm
Ter Nov 05, 2019 5:35 pm
Ter Nov 05, 2019 2:48 pm
Ter Nov 05, 2019 1:36 pm
Ter Nov 05, 2019 1:16 pm
Ter Nov 05, 2019 2:39 am
Seg Nov 04, 2019 9:14 pm
Seg Nov 04, 2019 8:45 pm
Seg Nov 04, 2019 2:29 pm
lusji2011
joaozinho
SteveRogers
SteveRogers
SteveRogers
JohnRambo
Fagner
guimaraf
Fagner
Fagner
guimaraf
FabioDev
poyser
Fagner
eduardonog30
RafaelSquid1
Carbon12 Youth
Édipo
joffersoju
marlon33
FabioDev
FabioDev
Fagner
Fagner
PauloFR
PauloFR
PauloFR
PauloFR
MarcosSchultz
leonardolopes
ScorpionG4mer
NyanHeavyBR
richerd
SergioDB
guimaraf
gtcmcsgo
RafaelSquid1
porion
RafaelSquid1
guimaraf
numb123
IOOI
joffersoju
teyroberto1
luizrbizzio
John Wesley
verme1311
gtcmcsgo
Blaker
leonardolopes
luizrbizzio
RafaelSquid1
RafaelSquid1
williangamesbr4021
gtcmcsgo
poyser
RafaelSquid1
NKKF
guimaraf
Lester3422
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Diguinho
Fagner
leonardolopes
Valakinhas
eduardonog30
dstaroski
Valakinhas
Valakinhas
RafaelSquid1
poyser
RafaelSquid1
Valakinhas
MayLeone
luizrbizzio
Hamassfall
gtcmcsgo
MarceloYBP
Édipo
gtcmcsgo
conceptfac
Hamassfall
MayLeone
Alerson Software
Fagner
Magnatah
Magnatah
MayLeone
pablo77
CyberPh4ntom
eduardonog30
MayLeone
leonardolopes
Fagner
gtcmcsgo

Spawn Random simultâneo em pontos específicos

Ir em baixo

DÚVIDA Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Ter Jun 18, 2019 9:00 pm

Boa noite. Estou com dúvida para criar um sistema de spawn. Tenho 10 chaves iguais (mesmo objeto) e 30 locais pra spawnar. Preciso que quando o jogo seja iniciado, as 10 chaves spawnem em 10 locais dos 30 existentes ao mesmo tempo. Elas não podem se sobrepor aonde ja tiverem sido spawnadas, por exemplo: não posso ter 1 ou mais chaves spawnadas no mesmo local (se sobrepondo). Segue abaixo o código que to usando.

Código:
using UnityEngine;
using System.Collections;
public class Instanciador : MonoBehaviour
{
    public Transform[] LocaisDeSpawn;
    public GameObject[] Chaves;
    private float cronometro;
    public float tempoPorSpawn;
 
    void Update()
    {
        cronometro += Time.deltaTime;
        if (cronometro >= tempoPorSpawn)
        {
            Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Random.Range(0, 29)].transform.position, transform.rotation);

            cronometro = 0;
        }
    }
}

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Matrirxp em Ter Jun 18, 2019 9:27 pm

Código:
 int Local;
 int[] LocaisEscolhidos; 
 bool Trava;

if (cronometro >= tempoPorSpawn)
        {

            Local = Random.Range(0, 29);

            for(int i =0;i<LocaisEscolhidos.lenght;i++){
             if(Local == LocaisEscolhidos[i]){
                Trava = true;
             }
             }

            if(Trava == false){
            Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
            LocaisEscolhidos.Add(Local);
            }else{
             Local = Random.Range(0, 29);
            }

            cronometro = 0;
        }
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1506
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: C#, Java, HTML5,CSS.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

https://www.youtube.com/channel/UCkngjEDMx9y_vW0t7Io05gg

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qua Jun 19, 2019 1:58 am

O que tem que ser adicionado no meu código e o que não vai ser mais aproveitado? Desculpa minha ignorância, mas sou iniciante ainda e to tentando pegar as manhas. Vi que você criou 3 variáveis 2 int e 1 boleana. Não teria que colocá-las como públicas para aparecerem no Unity? É necessário colocar cronômetro nesse código mesmo? Não vi muito importância nesse meu caso. A propósito obrigado por estar tentando me ajudar. Uso void Update mesmo ou o void Start já que só quero que faça o posicionamento só uma vez quando o jogo rodar? O código ficou assim agora:

Spawn Random simultâneo em pontos específicos  Unknown

Código:
using UnityEngine;
using System.Collections;
public class Instanciador : MonoBehaviour
{
    public Transform[] LocaisDeSpawn;
    public GameObject[] Chaves;
    private float cronometro;
    public float tempoPorSpawn;
    int Local;
    int[] LocaisEscolhidos;
    bool Trava;

    void Update()
    {
       
        if (cronometro >= tempoPorSpawn)
        {

            Local = Random.Range(0, 29);

            for (int i = 0; i < LocaisEscolhidos.Length; i++)
            {
                if (Local == LocaisEscolhidos[i])
                {
                    Trava = true;
                }
            }

            if (Trava == false)
            {
                Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
                LocaisEscolhidos.Add(Local);
            }
            else
            {
                Local = Random.Range(0, 29);
            }

            cronometro = 0;
        }
    }
}

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qua Jun 19, 2019 2:10 am

Esqueci de comentar que tava aparecendo esse erro abaixo.

Spawn Random simultâneo em pontos específicos  Unknown

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Matrirxp em Qua Jun 19, 2019 12:36 pm

1-

Código:
    int Local; //Armazena o local de spawn do objeto atual
    int[] LocaisEscolhidos; //Armazena os locais ja escolhidos 
    bool Trava; //assume o valor true quando a variavel "Local" for igual a algum dos valores da array "LocaisEscolhidos"



2-
https://docs.unity3d.com/ScriptReference/Array.Add.html
Parece estar certo.
Execute o código se continuar dando erro mande outra mensagem que eu te ajudo.

3-
Ja que você quer que o código seja executado apenas uma vez coloque no void Start()

4-
As variáveis não são púbicas pois são usadas apenas pelo código. (Coordenando ações da Script)

5-
http://www.schultzgames.com/t9107-tutorial-gerando-objetos-proceduralmente#63224
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1506
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: C#, Java, HTML5,CSS.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

https://www.youtube.com/channel/UCkngjEDMx9y_vW0t7Io05gg

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qua Jun 19, 2019 4:55 pm

Continua dando erro Add sublinhado. Entrei no link que voce mandou que explica sobre Array.Add() porém lá mesmo, fala isso," Note: This is javascript only. C# does not use this feature. " Eu preciso fazer algo la na Unity pra que o Add funcione ou algo do tipo? O código não roda acho q só por isso mesmo. 

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Matrirxp em Qua Jun 19, 2019 5:05 pm

Código:
List<int> LocaisEscolhidos = new List<int>();

troque o "LocaisEscolhidos" por isso.
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1506
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: C#, Java, HTML5,CSS.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

https://www.youtube.com/channel/UCkngjEDMx9y_vW0t7Io05gg

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qua Jun 19, 2019 6:40 pm

Código:
using UnityEngine;
using System.Collections;
public class Instanciador : MonoBehaviour
{
    public Transform[] LocaisDeSpawn;
    public GameObject[] Chaves;
    private float cronometro;
    public float tempoPorSpawn;
    int Local;
    int[] LocaisEscolhidos;
    bool Trava;

    void Start ()
    {
       
        if (cronometro >= tempoPorSpawn)
        {

            Local = Random.Range(0, 29);

            for (int i = 0; i < LocaisEscolhidos.Length; i++)
            {
                if (Local == LocaisEscolhidos[i])
                {
                    Trava = true;
                }
            }

            if (Trava == false)
            {
                Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
                List<int> LocaisEscolhidos = new List<int>();
            }
            else
            {
                Local = Random.Range(0, 29);
            }

            cronometro = 0;
        }
    }
}
Spawn Random simultâneo em pontos específicos  Unknown

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qua Jun 19, 2019 6:40 pm

Continua dando erro na linha 32

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Matrirxp em Qua Jun 19, 2019 11:01 pm

Não e assim kkkk. 
Risonho
Assim:

Código:
using UnityEngine;
using System.Collections;
public class Instanciador : MonoBehaviour
{
    public Transform[] LocaisDeSpawn;
    public GameObject[] Chaves;
    private float cronometro;
    public float tempoPorSpawn;
    int Local;
    List<int> LocaisEscolhidos = new List<int>(); //aqui
    bool Trava;

    void Update()
    {
        
        if (cronometro >= tempoPorSpawn)
        {

            Local = Random.Range(0, 29);

            for (int i = 0; i < LocaisEscolhidos.Length; i++)
            {
                if (Local == LocaisEscolhidos[i])
                {
                    Trava = true;
                }
            }

            if (Trava == false)
            {
                Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
                LocaisEscolhidos.Add(Local);
            }
            else
            {
                Local = Random.Range(0, 29);
            }

            cronometro = 0;
        }
    }
}
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1506
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: C#, Java, HTML5,CSS.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

https://www.youtube.com/channel/UCkngjEDMx9y_vW0t7Io05gg

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Seg Jun 24, 2019 6:47 am

Código:
using UnityEngine;
using System.Collections.Generic;
public class Instanciador : MonoBehaviour
{
    public Transform[] LocaisDeSpawn;
    public GameObject[] Chaves;
    private float cronometro;
    public float tempoPorSpawn;
    int Local;
    List<int> LocaisEscolhidos = new List<int>(); //aqui
    bool Trava;

    void Start ()
    {

        if (cronometro >= tempoPorSpawn)
        {

            Local = Random.Range(0, 29);

            for (int i = 0; LocaisEscolhidos.Length; i++)
            {
                if (Local == LocaisEscolhidos[i])
                {
                    Trava = true;
                }
            }

            if (Trava == false)
            {
                Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
                LocaisEscolhidos.Add(Local);
            }
            else
            {
                Local = Random.Range(0, 29);
            }

            cronometro = 0;
        }
    }
}

KKKKk. 
Agora ta dando erro na linha 21 no Lenght. Acho q é a respeito do máximo de pontos que quero escolher como respawn escolhidos. Nao sei q q tenho q fazer. Eu quero que dentre 30 pontos pivos sejam escolhidos 10 deles e que eles nao se repitam pra nao haver ambiguidade de chaves em nenhum dos 10 pivos escolhidos.

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Seg Jun 24, 2019 6:50 am

Spawn Random simultâneo em pontos específicos  Unknown
No unity aparece esse erro. Acho q só falta isso pra dar certo mesmo.

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por MarcosSchultz em Seg Jun 24, 2019 5:33 pm

provavelmente isso acontece por que você está setando "locais escolhidos" que não existem nas outras arrays...

lembre-se, as arrays começam em 0
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62409
REPUTAÇÃO : 2374
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Ter Jun 25, 2019 3:38 am

@MarcosSchultz escreveu:provavelmente isso acontece por que você está setando "locais escolhidos" que não existem nas outras arrays...

lembre-se, as arrays começam em 0

Oi Marcos eu sei disso a minha array ta começando "aparentemente" com as quantidades corretas, tanto de chaves, quanto pontos escolhidos e pontos pivos (vou chamar assim). Se tenho 10 chaves, então é de 0 a 9 (certo?) Se tenho 30 pontos pivos, vai de 0 a 29 (certo?). E se quero que seja 10 pontos escolhidos dentre os 30 pontos pivos, vai de 0 a 9 (certo?). Alguem tenta me mostrar como resolvo mais diretamente eu nao manjo de programação o suficiente ainda Sad.

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por ffabim em Ter Jun 25, 2019 2:14 pm

Código:
 public Transform[] LocaisDeSpawn;
 public GameObject[] Chaves;
 private float cronometro;
 public float tempoPorSpawn;
 int Local;
 List<int> LocaisEscolhidos = new List<int>();
 bool Trava;

 void Start ()
 {
 if (cronometro >= tempoPorSpawn)
 {
 Local = Random.Range(0, 29);

 for(int i = 0;i<LocaisEscolhidos.Count;i++)
 {
 if (Local == LocaisEscolhidos[i])
 Trava = true;
 }

 if (Trava == false)
 {
 Instantiate(Chaves[Random.Range(0, 9)], LocaisDeSpawn[Local].transform.position, transform.rotation);
 LocaisEscolhidos.Add(Local);
 }else {
 Local = Random.Range(0, 29);
 }

 cronometro = 0;
 }
 }
}
ffabim
ffabim
MembroAvançado

Masculino PONTOS : 1462
REPUTAÇÃO : 51
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Godigod em Qui Jun 27, 2019 10:55 am

Opa ffabim. Se eu deixar como void Start ele ta colocando apenas uma chave em um dos pontos escolhidos. Se eu coloco como void Update, aí ele coloca uma quantidade de chaves aleatorias. Por exemplo: as vezes poe 5 chaves, as vezes 8, as vezes 1 e por ai vai ... Eu preciso que ele coloque um total de 10 chaves.

Godigod
Iniciante
Iniciante

PONTOS : 168
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por ffabim em Sab Jun 29, 2019 10:42 pm

é por causa disso, ele ira colocar dentre 0 a 9 chaves aleatoriamente
Código:
(Chaves[Random.Range(0, 9)]
não sei se vai funcionar mas tenta usar isso
Código:
public Transform[] LocaisDeSpawn;
 public List<GameObject>Chaves =new List<GameObject>();
 private float cronometro;
 public float tempoPorSpawn;
 int Local;
 List<int> LocaisEscolhidos = new List<int>();
 bool Trava;

 void Start ()
 {
 if (cronometro >= tempoPorSpawn)
 {
 Local = Random.Range(0, 29);

 for(int i = 0;i<LocaisEscolhidos.Count;i++)
 {
 if (Local == LocaisEscolhidos[i])
 Trava = true;
 }

 if (Trava == false)
 {
 for(int i = 0;i<Chaves.Count;i++)
 {
 Instantiate(Chaves[i], LocaisDeSpawn[Local].transform.position, transform.rotation);
 LocaisEscolhidos.Add(Local);
 }else {
 Local = Random.Range(0, 29);
 }

 cronometro = 0;
 }
ffabim
ffabim
MembroAvançado

Masculino PONTOS : 1462
REPUTAÇÃO : 51
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Matrirxp em Dom Jun 30, 2019 12:57 pm

Código:
public Transform[] LocaisDeSpawn;
 public List<GameObject>Chaves =new List<GameObject>();
 private float cronometro;
 public float tempoPorSpawn;
 int Local;
 List<int> LocaisEscolhidos = new List<int>(9);
 bool Trava;

 void Start ()
 {
 if (cronometro >= tempoPorSpawn)
 {
 Local = Random.Range(0, 29);

 for(int i = 0;i<LocaisEscolhidos.Count;i++)
 {
 if (Local == LocaisEscolhidos[i])
 Trava = true;
 }

 if (Trava == false)
 {
 for(int i = 0;i<Chaves.Count;i++)
 {
 Instantiate(Chaves[i], LocaisDeSpawn[Local].transform.position, transform.rotation);
 LocaisEscolhidos.Add(Local);
 }else {
 Local = Random.Range(0, 29);
 }

 cronometro = 0;
 }
Inicialize a list com 9 (Numero máximo de spawn)

Código:
 List<int> LocaisEscolhidos = new List<int>(9);


https://answers.unity.com/questions/506896/how-to-create-a-list-with-initial-capacity.html
O certo e .Count, me confundi com array que e .Length  Shhh
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1506
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: C#, Java, HTML5,CSS.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

https://www.youtube.com/channel/UCkngjEDMx9y_vW0t7Io05gg

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por Fagner em Dom Jun 30, 2019 3:02 pm

Eu tenho 30 pontos de spawn (Transforms);

Spawn Random simultâneo em pontos específicos  5CHZdVa

Armazeno estes em um vetor;
Caso a tecla Espaço seja pressionada, embaralho as posições utilizando o algoritmo FYS;
Depois é só mover as dez chaves para as primeiras 10 posições no vetor de spawn(Transform), pois como este vetor agora está embaralhado, as chaves ficam em posições aleatórias e sem o problema de ter duas chaves na mesma posição.

Spawn Random simultâneo em pontos específicos  Yz3K808

Segue o projeto, caso tenha interesse em dar uma olhada:
Projeto Spawner de Chaves
Fagner
Fagner
Moderador

Masculino PONTOS : 1522
REPUTAÇÃO : 238
Áreas de atuação : Modelagem 3D, C#, Python, LUA.
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Spawn Random simultâneo em pontos específicos

Mensagem por guimaraf em Sab Jul 06, 2019 11:47 am

Achei legal o que foi mostrado, resolvi dar meus 2 centavos.

Fiz diversas mudanças para deixar o código o mais simples possível para ser usado.
Como reparei que os objetos tinham posições fixas, então utilizei 2 loopings para gerar elas, assim eu não preciso mais da array de transform, além de outras mudanças.

O único objeto que precisa ser colocado no script é o prefab da chave.

Mudei a tecla de "espaço" para "K"

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

public class Instancier : MonoBehaviour
{
    private Vector3[] pos = new Vector3[30];
    public GameObject keyPrefab = default;
    public GameObject[] keys = default;

    public List<int> spawnAllId = default;
    public List<int> spawUniqueRandom = default;

    private void Start()
    {
        keys = new GameObject[10];
        CreateSpawPositions();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.K))
        {
            RandomPositions();
        }
    }

    private void CreateSpawPositions()
    {
        //generate all positions
        int[] x = new int[5] { 0, -2, -4, -6, -8 };
        int[] z = new int[6] { 0, -2, -4, -6, -8, -10 };

        int posIndex = 0;
        for (int i = 0; i < 6; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                pos[posIndex] = new Vector3(x[j] + 4, 0f, z[i] + 6);
                print(pos[posIndex]);
                posIndex++;
            }
        }
    }

    private void RandomPositions()
    {
        DestroyAllKeysExisting();

        //Simple addition of sequential indices
        for (int i = 0; i < 30; i++)
        {
            spawnAllId.Add(i);
        }

        //sort only 10 unique numbers
        for (int i = 0; i < 10; i++)
        {
            int n = Random.Range(0, spawnAllId.Count);
            spawUniqueRandom.Add(spawnAllId[n]);
            print(spawnAllId[n]);
            spawnAllId.Remove(spawnAllId[n]);
        }
        //Instantiated the keys in the correct locations
        for (int i = 0; i < spawUniqueRandom.Count; i++)
        {
            Quaternion quat = new Quaternion();
            keys[i] = Instantiate(keyPrefab, pos[spawUniqueRandom[i]], quat);
        }
    }

    private void DestroyAllKeysExisting()
    {
        //reset all lists and destroy all instantiate keys
        if (spawnAllId.Count > 0)
        {
            spawnAllId.Clear();
        }
        if (spawUniqueRandom.Count > 0)
        {
            spawUniqueRandom.Clear();

            if (keys.Length > 0)
            {
                for (int i = 0; i < keys.Length; i++)
                {
                    Destroy(keys[i]);
                }
            }
        }
    }
}

Quem quiser baixar a versão que eu fiz, publiquei no meu github
guimaraf
guimaraf
ProgramadorMaster

Masculino PONTOS : 1227
REPUTAÇÃO : 69
Idade : 37
Áreas de atuação : Programação de jogos e técnico de informática
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

http://guimaraf.github.io

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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