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:
Recrutamento de equipe
Dash2D
[TUTORIAL] Unity 5 - Como utilizar o Animator
Procuro membros para minha Equipe (Programadores, designers, etc)
Movimentação de inimigo
É assim que se começa um "novo mundo" na era medieval? kkjk
Criar Simulador de Sinuca
Tempo Minutos e Segundos Transformar em Volta mais Rapida
[TUTORIAL] Unity 5.5 - Splash Screen
R7 - GOOH (resident evil 7)
InputField/String Com formato para data XX/XX/XXXX
Estou com varias duvidas sobre o inputfield do ui canvas
(Dúvida) Setar ultima string de uma array
[Ajuda] Unity 5.5.0 não abre
Coroutines Loop
[____TÓPICO LIVRE____] FALE O QUE QUISER
Destruindo objeto em uma outra cena
modo desenvolvedor xbox one?
como usar o Lookat com o addforce do rigidibody?
Cryengine 3?
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Time.timeScale continua em 0
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
Baixar Unity ?
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
Hoje à(s) 10:51 am
Hoje à(s) 10:20 am
Hoje à(s) 10:13 am
Hoje à(s) 9:42 am
Hoje à(s) 9:16 am
Hoje à(s) 9:15 am
Hoje à(s) 8:13 am
Ontem à(s) 11:02 pm
Ontem à(s) 10:41 pm
Ontem à(s) 10:37 pm
Ontem à(s) 7:40 pm
Ontem à(s) 7:39 pm
Ontem à(s) 6:44 pm
Ontem à(s) 6:26 pm
Ontem à(s) 5:41 pm
Ontem à(s) 4:19 pm
Ontem à(s) 11:42 am
Ontem à(s) 11:15 am
Ontem à(s) 8:45 am
Ontem à(s) 6:17 am
Qua Dez 07, 2016 11:58 pm
Qua Dez 07, 2016 11:55 pm
Qua Dez 07, 2016 10:57 pm
Qua Dez 07, 2016 10:22 pm
Qua Dez 07, 2016 10:03 pm
Qua Dez 07, 2016 8:51 pm
Qua Dez 07, 2016 8:47 pm
Qua Dez 07, 2016 8:45 pm
Qua Dez 07, 2016 8:42 pm
Qua Dez 07, 2016 8:36 pm
Qua Dez 07, 2016 8:32 pm
Qua Dez 07, 2016 8:30 pm
Qua Dez 07, 2016 8:22 pm
Qua Dez 07, 2016 7:47 pm
Qua Dez 07, 2016 5:54 pm
Qua Dez 07, 2016 5:50 pm
Qua Dez 07, 2016 4:31 pm
Qua Dez 07, 2016 4:16 pm
Qua Dez 07, 2016 3:40 pm
Qua Dez 07, 2016 3:26 pm
Qua Dez 07, 2016 3:01 pm
Qua Dez 07, 2016 2:31 pm
Qua Dez 07, 2016 10:42 am
Ter Dez 06, 2016 10:46 pm
Ter Dez 06, 2016 10:30 pm
Ter Dez 06, 2016 6:02 pm
Ter Dez 06, 2016 5:01 pm
Ter Dez 06, 2016 3:31 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 10:58 pm
Locodapraça
Thiagofogaca217
debBoy
AndyShow
demetriosfernands
Dom3000
souteramoto
AndyShow
MarcosSchultz
foxtenn
leandroinforware
leandroinforware
hetrodo_gamer
hetrodo_gamer
hetrodo_gamer
Manawydan
kleytonpb
AndyShow
Dom3000
Callyde Jr
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
DoctorGame15
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
dstaroski
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt
dimmuo
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

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

DÚVIDA Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por Shynayder em Seg Jul 18, 2016 9:07 pm

Olá pessoal,

Sou novo com unity e estou tentando resolver um problema para tentar avançar no meu primeiro projeto(um infinity runner) basiquinho. Irei gerar alguns objetos no cenário que valem pontos para o personagem ir coletando. Tive a ideia de gerar uma palavra randomicamente para tentar spawnar as letras dessa palavra. Gerar a palavra randomicamente foi fácil, o problema é spawnar cada uma dessas letras da palavra em um intervalo de 1 minuto e é nessa parte que preciso de ajuda. A lógica que eu estou tentando fazer é a seguinte: Eu criei um método que pega a palavra e coloca cada letra em um array, segue um trecho do método:



Código:
public void addPalavraArray(string palavra){





        char[] letra = palavra.ToCharArray();





        spawnLetters = FindObjectOfType(typeof(SpawnLetters)) as SpawnLetters;








        // aqui eu coloco as letras da palavra gerada dentro de um array, falta instanciar as letras, não está dando certo.





        for(int i = 0; i < letra.Length; i++){


                





            switch(letra[i]){





            case 'a':


                


                if(!controleSpawnLetras){


                    indiceLetra = 0;


                    spawnLetters.spawn(indiceLetra);


                }


            break;


               


            case 'b':


                if(!controleSpawnLetras){


                indiceLetra = 1;


                spawnLetters.spawn(indiceLetra);


                }


                break;



Ai fiz esse esquema até a letra Z.


Dentro de cada break eu estou chamando um método em outra classe que recebe o indiceLetra para tentar spawnar as letras, segue a classe:

public class SpawnLetters : MonoBehaviour {

   
Código:
 public        GameObject[]        spawnLetter;


 


    private GameController gameController;


               


     void Start () {


             


        gameController = FindObjectOfType(typeof(GameController)) as GameController;





    }





    void Update () {


    


    }


    public void spawn(int indiceLetra){                                                                                        





        GameObject tempSpawnLetters = Instantiate(spawnLetter[indiceLetra]) as GameObject;


            tempSpawnLetters.transform.parent = this.transform;


            float y = tempSpawnLetters.transform.position.y;


            tempSpawnLetters.transform.position = new Vector3(y,transform.position.y ,transform.position.z);           


    }


}



Nesse vetor de GameObject eu linkei com os prefabs de todas as letras(da letra A até a letra Z), A partir daqui não conseguir mais evoluir, eu acho que essa lógica não está legal mais estou sem ideia de como spawnar as letras da palavra gerada a cada 1 minuto.

OBS: Do jeito que está agora eu consigo spawnar somente a primeira letra do vetor e sempre no mesmo lugar.

Espero que alguém possa me ajudar e agradeço desde já.


Última edição por Shynayder em Seg Jul 18, 2016 9:17 pm, editado 1 vez(es)

Shynayder
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por weslleyFx em Seg Jul 18, 2016 9:13 pm

bom primeiro coloque seu código dentro da caixa de código


weslleyFx
Moderador

Masculino PONTOS : 1878
REPUTAÇÃO : 406
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por Shynayder em Seg Jul 18, 2016 9:18 pm

Desculpa, como sou novato não sei muito bem as regras.

Shynayder
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por weslleyFx em Seg Jul 18, 2016 9:27 pm

mantendo essa sua lógica oque vc poderia fazer e uma lista com as letras para ser instanciadas e usar um for e o ienumerator para controlar o tempo de cada letra

weslleyFx
Moderador

Masculino PONTOS : 1878
REPUTAÇÃO : 406
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por Shynayder em Ter Jul 19, 2016 9:52 pm

Opa boa noite,

Mas esse vetor de GameObject  chamado  spawnLetter já possui os prefabs associados para spawnar as letras. Isso não é suficiente?

Se executar o projeto nesse esquema ai ele spawna sempre a primeira letra. Eu já debuguei, mas não consegui encontrar o problema. Os valores inclusive são passados para método que spawna, mas por algum motivo ele só pega a primeira letra.

Shynayder
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por weslleyFx em Ter Jul 19, 2016 10:21 pm

bom interessante seria vc usar lista com um tipo de classe
guardando uma variável do tipo char para guarda a letra  e outro do tipo sprite para guarda a sprite da letra ou ate mesmo Do Tipo GameObject mais no caso a Sprite seria melhor evitando criar vários prefabs
com sprite basta trocar a sprite do GameObject mais no caso se for em 3D teria que ser GameObject mesmo

Código:
[System.Serializable]
public class InfoLetter
{
    public char letter;
    public Sprite spriteLetter;
}

Código:
public List<InfoLetter> allLetter;

e uma outra lista para guarda a letras que serão instanciadas

Código:
public List<InfoLetter> letterPhrase;

assim ficaria mais simples fazer a seleção de cada letra usando o foreach ou a te mesmo linq ou for etc

crie uma variável do tipo string para guarda a palavra ou algo do gênero


Código:
public string phrase = "hello word";

usando linq para pegar cada letra que esta na lista


Código:
List<char> cLetter = new List<char>();
cLetter.AddRange(phrase.ToCharArray());

for (int i = 0; i < cLetter.Count; i++)
{
  var letter = from readList in allLetter
                where readList.letter == cLetter[i]
                select readList;

  InfoLetter newInfoLetter = letter.ElementAt<InfoLetter>(0);
  letterPhrase.Add(newInfoLetter);
}

assim basta instanciar a cada índice da lista letterPhrase

criando um método do tipo IEnumerator para instanciar


Código:
private IEnumerator InstantiateLetter()
   {
      for (int i = 0; i < letterPhrase.Count; i++)
        {
         yield return new WaitForSeconds(5);//tempo que vai esperar para continuar interação do loop
         
         int index = Random.Range(0, letterPhrase.Count);
            GameObject letter = Instantiate(prefab) as GameObject;
            letter.GetComponent<SpriteRenderer>().sprite = letterPhrase[index].spriteLetter;
            letterPhrase.RemoveAt(index);
      }
   }

weslleyFx
Moderador

Masculino PONTOS : 1878
REPUTAÇÃO : 406
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por Shynayder em Ter Jul 19, 2016 11:22 pm

Nesse último código da linha 8, o que significa esse prefab entre parenteses?

Shynayder
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como spawnar as letras de uma palavra que foi gerada randomicamente em um determinado intervalo de tempo

Mensagem por weslleyFx em Qua Jul 20, 2016 8:54 am

e um game GameObject  com SpriteRenderer

weslleyFx
Moderador

Masculino PONTOS : 1878
REPUTAÇÃO : 406
Idade : 18
Áreas de atuação : Csharp programming language 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