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:
Problema com dano aos inimigos
Transição de Fases
[DUVIDA] Acresentar int ao segurar botão
ALGUEM PODE ME AJUDAR COM UM SCRIPT ????? :) :) :) :)
SISTEMA SIMPLES DE VEICULO UNITY 5
Duvida Sobre posição de objetos dentro do Scroll View Canvas
Botão UI pressionar tecla do teclado?
[TUTORIAL] Joystick vistual para mobile
Converter Controle telcado para Celular
[TUTORIAL] Entrar no carro estilo GTA
(Ajuda) Verificação do cronômetro
SOU MODELADOR SE TIVER ALGUEM PRECISANDO AI ME CONTATE
ESTOU PRECISANDO DE UMA AJUDA COM UM SCRIPT
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
13º Andar, jogo indie completo!
[Projeto] Omega Racers
Uma das principais razões pelas quais desenvolvedores fracassam
Select File Runtime Android Unity3D
Sistema De Paraquedas Em C#, Como Fazer?
[Projeto em Andamento] Brazil Combat
Game Engine
gostaria de fazer de ja tem como loca ele como mod no spintires mudrunners
COMBUSTIVEL
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
[TUTORIAL] C# .NET | Instalar IDE para compilar c# para outras plataformas
Inimigo seguir o player
Guia PBR - Luz e Matéria: A teoria da renderização e sombreamento
player pulando eternamente quando dentro de um trigger colllider, como corrigir isso? 2D
[TUTORIAL] Inimigo que segue player enquanto player está vendo
Formação de Equipe ( Favela Killer)
Hengor meu MMORPG indie
Destruir um inimigo e mudar de cena para o fim do jogo
[TUTORIAL] Sistema Simples de Falas
Como criar macro com tempo no Windows
Gente estou com dúvida de como que faz o sistema do personagem (First Person)
Chamar variavel em outra script para chama-lo ao slide
Limite de spawn e respawn de inimigos
Command 888
(DUVIDA)Privacy Policy e Terms of use
[TUTORIAL] Como fazer um TELEPORTE
Verificar se outro objeto tem um script usando o raycasy
alguem pode ajudar com um problema xbox live
Unity: Não consigo criar meu projeto
Asset Store Está Recusando Meus Modelos 3D
Construção estilo Minecraft DUVIDA
Arma atravessando paredes - AJUDA
Sites de efeitos sonoros
Sistema de skin (Player) Sprite Renderer
Inserir animação em certos elemento
Som de passos 3º pessoas Unity C#
Ui só em tal lugar
Duvida sobre menu
como faco para spawnar a vida do inimigo junto com ele direto do prefabe
Freio Motor De Caminhão
Segurar item na mão e dropar item.
Como que faço para transformar um Vector3 em transform.position?
Textura aplicada na objeto mas não aparece
CharacterController não interage com Box Colliders.
Dúvida sobre pagamento de direitos autorais
Sistema de foco na Unity.
Rotação de sprite dentro do canvas (deformação)
duvida conta no banco inter
Flamehead MMORPG Indie
Colisoes na Unity
diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
[RESOLVIDO] Exportar do blender para 3D Max?
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
ARRAYS
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Problema com sprite na unity
[RESOLVIDO] Preciso de ajuda com joystic para personagem 2D
Spawn Random simultâneo em pontos específicos
erro no scripts de dano no player 2D
Software de modelagem 3D bom para LowPoly
Dúvida sobre Orientation Layout
Quais cuidados devo tomar ao trabalhar em dupla?
[TUTORIAL] Mover, girar e lançar objetos com o MOUSE (Unity 2017, atualizado)
Editor de Script nao aparece aquela previa
Criar Script para configurar um assets de um character
"Banco de Dados" de Sprites
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
QUERIA SABER SE POSSO VENDER MODELOS 3D AQUI ????
Unity Grama interagindo com Collider
Descer do Caminhão?
Qual a sua opinião sobre modelos de negócio e monetização de jogos?
Documentação do Unity Offline em Português Existe???
Não consigo atribuir pontos no admob reward.
não consigo atirar
a iluminacao de pono nao esta passando para o teto , unity
Preciso de desenvolverdor para projeto de game
[RESOLVIDO] Valor de App de Realidade Aumentada.
Ajuda mistura de cores azul + amerelo
Sprite Renderer em canvas
[____ASSET____] MS Vehicle System (FREE VERSION)
[RESOLVIDO] Sistema básico em C# - Objetos aparecerem em lugares específicos
[RESOLVIDO] Ajuda com Canvas/UI
[TUTORIAL] Script de arma automatica
[RESOLVIDO] Quero aprender a desenvolver jogo na unity em C#
[RESOLVIDO] Duvida sobre C# na Unity
Ontem à(s) 11:52 pm
Ontem à(s) 11:06 pm
Ontem à(s) 10:26 pm
Ontem à(s) 9:31 pm
Ontem à(s) 9:11 pm
Ontem à(s) 7:37 pm
Ontem à(s) 7:20 pm
Ontem à(s) 6:04 pm
Ontem à(s) 4:34 pm
Ontem à(s) 4:04 pm
Ontem à(s) 2:29 pm
Ontem à(s) 1:28 pm
Ontem à(s) 11:59 am
Ontem à(s) 10:45 am
Ontem à(s) 10:43 am
Ontem à(s) 10:21 am
Ontem à(s) 9:13 am
Ter Jul 16, 2019 9:19 pm
Ter Jul 16, 2019 8:40 pm
Ter Jul 16, 2019 8:14 pm
Ter Jul 16, 2019 5:24 pm
Ter Jul 16, 2019 5:19 pm
Ter Jul 16, 2019 3:59 pm
Ter Jul 16, 2019 2:19 pm
Ter Jul 16, 2019 1:56 pm
Ter Jul 16, 2019 1:44 pm
Ter Jul 16, 2019 10:36 am
Ter Jul 16, 2019 1:24 am
Seg Jul 15, 2019 2:29 pm
Seg Jul 15, 2019 12:36 pm
Seg Jul 15, 2019 12:25 pm
Seg Jul 15, 2019 12:30 am
Sab Jul 13, 2019 10:12 pm
Sab Jul 13, 2019 10:12 pm
Sab Jul 13, 2019 8:13 pm
Sab Jul 13, 2019 7:50 pm
Sab Jul 13, 2019 7:07 pm
Sab Jul 13, 2019 12:34 pm
Sab Jul 13, 2019 10:54 am
Sex Jul 12, 2019 7:51 pm
Sex Jul 12, 2019 4:22 pm
Sex Jul 12, 2019 3:32 pm
Sex Jul 12, 2019 1:56 pm
Qui Jul 11, 2019 8:50 pm
Qui Jul 11, 2019 7:41 pm
Qui Jul 11, 2019 7:38 pm
Qui Jul 11, 2019 6:32 pm
Qua Jul 10, 2019 11:58 pm
Qua Jul 10, 2019 8:34 pm
Qua Jul 10, 2019 6:11 pm
Ter Jul 09, 2019 10:55 pm
Ter Jul 09, 2019 10:09 pm
Ter Jul 09, 2019 8:28 pm
Ter Jul 09, 2019 7:23 pm
Ter Jul 09, 2019 5:19 pm
Seg Jul 08, 2019 7:27 pm
Seg Jul 08, 2019 6:26 pm
Seg Jul 08, 2019 3:01 pm
Seg Jul 08, 2019 1:51 pm
Seg Jul 08, 2019 8:10 am
Seg Jul 08, 2019 2:56 am
Seg Jul 08, 2019 12:09 am
Dom Jul 07, 2019 8:38 pm
Dom Jul 07, 2019 3:52 pm
Dom Jul 07, 2019 10:09 am
Dom Jul 07, 2019 8:53 am
Dom Jul 07, 2019 1:13 am
Sab Jul 06, 2019 11:40 pm
Sab Jul 06, 2019 9:07 pm
Sab Jul 06, 2019 11:57 am
Sab Jul 06, 2019 11:54 am
Sab Jul 06, 2019 11:47 am
Sab Jul 06, 2019 11:37 am
Sab Jul 06, 2019 7:59 am
Sab Jul 06, 2019 7:53 am
Sab Jul 06, 2019 7:47 am
Sab Jul 06, 2019 7:34 am
Sab Jul 06, 2019 7:18 am
Sab Jul 06, 2019 7:16 am
Sab Jul 06, 2019 7:08 am
Sab Jul 06, 2019 7:04 am
Sab Jul 06, 2019 7:03 am
Sab Jul 06, 2019 6:55 am
Sab Jul 06, 2019 6:53 am
Sab Jul 06, 2019 6:36 am
Sab Jul 06, 2019 5:45 am
Sab Jul 06, 2019 5:38 am
Sab Jul 06, 2019 5:37 am
Sab Jul 06, 2019 5:30 am
Sex Jul 05, 2019 9:46 pm
Sex Jul 05, 2019 11:09 am
Sex Jul 05, 2019 9:38 am
Qui Jul 04, 2019 10:47 pm
Qui Jul 04, 2019 9:47 pm
Qui Jul 04, 2019 9:17 pm
Qui Jul 04, 2019 6:44 pm
Qui Jul 04, 2019 3:36 pm
Qui Jul 04, 2019 2:14 pm
Qui Jul 04, 2019 2:00 pm
Magnatah
poyser
SteveRogers
Magnatah
jp joão paulo
Dark_The_King
Diguinho
Daniel Dória
Johnatasdasilva
brunaeandersoncosmeticos@
poyser
Chilinger
gutovic29
Magnatah
Patrick
guimaraf
Tegh
GramadoOrc
Projeto Residentes Evil
thales.ulisses
Chilinger
brunos sou
Alerson Software
Chilinger
Chilinger
Chilinger
Magnatah
mathhBR
FantasmaFX
zeca urubu
Callyde Jr
SteveRogers
Magnatah
lesgoy
Magnatah
Magnatah
Blandbrute6677
Callyde Jr
poyser
mama2401
diegopds
diegopds
Callyde Jr
Magnatah
rafaelllsd
rafaelllsd
poyser
luckas211
ffabim
merike11
iToddy
poyser
guimaraf
yurinogueira
Ed Mafi
Ed Mafi
Ed Mafi
LúcioHenrique098
eduardonog30
ruanzikaad
danielPedra90
MarcosSchultz
Magnatah
Magnatah
Magnatah
TioUV
LúcioHenrique098
MarcosSchultz
luckas211
poyser
poyser
guimaraf
luckas211
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
luckas211
numb123
NKKF
MayLeone
dkrazor
SteveRogers
KingsAlex
luckas211
Yagogomes
poyser

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1379
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1379
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1379
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1379
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 61997
REPUTAÇÃO : 2275
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário 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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1315
REPUTAÇÃO : 43
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 43
REPUTAÇÃO : 0
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1315
REPUTAÇÃO : 43
Respeito as regras : Spawn Random simultâneo em pontos específicos  WvDYdlf

Ver perfil do usuário

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 : 1379
REPUTAÇÃO : 75
Idade : 17
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

Respeito as regras : Spawn Random simultâneo em pontos específicos  Aad8pUi

Ver perfil do usuário

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
ProgramadorMaster

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

Ver perfil do usuário

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 : 1023
REPUTAÇÃO : 45
Idade : 36
Á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

Ver perfil do usuário 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