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:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Alterar função no Event Trigger
como encontrar um script em um determinado objeto
[Sorteio] - Sorteio de uma Key gratuita para um dos meus assets!
Gerador de senha
Transparência em múltiplos sprites
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[TUTORIAL] Sistema de Lanterna com Pilhas
Grama de terreno mudou textura e não consigo identificar o motivo
SAVE ME - Game em desenvolvimento para estudo.
Comandos touch
Fontes de sprites em pixel art
Ajustar movimentação da câmera
Rescale ou Redimenção da imagem.
[RESOLVIDO] Animação Em Legacy
animação com avatar mask
[RESOLVIDO] troca de cena faz os Botoes UI não funcionarem
Direito autoral sobre imagem?
[TUTORIAL] Importando animação do mixamo para Unity3d.
Ajuda em código com Events!
[ANDROID]Cena TRAVA e não carrega ao tentar iniciar pelo menu
[TUTORIAL] - Como fazer download da OBB do jogo, in-game! (Android)
[RESOLVIDO] Problema com Varíavel Estática
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
[JOGO] Tetris em Unity - Para tutorial
Matematica e duvida de de calculos
Pessoa com conhecimento em Unity e criação de sprites
Cronor Estudios RECRUTANDO PARA EQUIPE! [Pagando]
Dúvida com Animação!
Adcionar Porcentagem "%" em um texto UI
Pack de áudio/ efeitos sonoros gratuitos.
Como fazer som de passos no Third Person User Control
Aparecer item comprado
[RESOLVIDO] Instanciar explosões dentro de uma area circular
Jogo para limitar a nave dentro da tela
Alterar caminho Application.persistentDataPath
[TUTORIAL] Como fazer um ponteiro de VELOCIDADE, RPM, etc na Unity
Acessar câmera frontal
Otimização de array vector3
[TUTORIAL] Converter uma variável String em Vetores
Problema no ontriggerenter!!!!
mover objetos "rigados"
Dúvida com Contador no Unity
Button
Anim em Gif
[RESOLVIDO] Camera ViewPort Rect
Blob Shadows
duvida em comentarios no c#
Tirar mais de uma foto
Easy Criatura Controle IA
Text multiuplayer
using UnityEngine.networking
Ajuda com script de escolhas de ações antes de iniciar jogo
ajuda em adcionar novos produtos
[RESOLVIDO] Input field enter
Controles desabilitando
Unity e windows 10
Ajuda com a Câmera (Culling Mask)
Script de Spawn Aleatório
[TUTORIAL] Mover, arremessar e girar objetos com o mouse
Como se faz um mini-mapa?
Geração procedural de mapa para a nova versão do Unity 2018
Como ter varios prefabs com o msm script e um nao alterar o outro?
Como acessar um script que esta no pai?
Movimentação por sqm
Como faço um som parar de tocar?
Mudar skin através de galeria do celular
COMO FAÇO O SISTEMA DE CHUVA ESTILO ETS2 COM GOTAS NO PARA BRISA?
Random.State Altera a seed de todos os scripts?
AI Enemy Ajuda
Easy Mesh Combiner MT - Combine suas malhas de maneira rápida e FÁCIL!
Captura de imagem
[Recomendação] Código Limpo
Sobre colisões em objetos 2D
[RESOLVIDO] COMO FAZ PARA DESATIVAR E ATIVAR UM BOTÃO UI PELO TRIGGER??
Dar recompensa ao ver propaganda ADMOB - CONSTRUCT 2 - Intel XDK
Erro Visual Studio Code .NETFramework v4.7.2
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
(Dúvida) iRDS - Inteligencia artificial para carros.
de flash pra unity
Como faço para por input de agachar
[RESOLVIDO] Unity 2018.3.0f2 (64-bit) não deixa apagar Componente Importado
PlayerPrefs??
[RESOLVIDO] Deslizar nas paredes (3D)
[RESOLVIDO] Ajuda com Instantiate e SetParent
[TUTORIAL] Luz Principal,Luz de Freio,Piscas para Carro,Moto,Caminhão,Ônibus,Etc...
Estou desenvolvendo jogo em FNA XNA e Nao consigo fazer o player agachar
Como fazer objetos com a mesma TAG não se colidir?
Participe da IDB Jam #1
Ajuda com modelo 3d de Casa
COMO PROJETAR ANIMAÇÕES VISUAIS E DE AÚDIO NO VISUAL STUDIO ( WINDOWS FORM)?
[RESOLVIDO] Cena em modo Portrait e Landscape
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Ajuda em Level Design e arte
[RESOLVIDO] IAP não está funcionando depois que faço o build
Error ao Gerar a KeyStore do Apk Android
Iniciando com Scripted Events
Hoje à(s) 7:36 pm
Hoje à(s) 7:02 pm
Hoje à(s) 6:39 pm
Hoje à(s) 3:40 pm
Hoje à(s) 8:30 am
Qua Fev 20, 2019 4:48 pm
Qua Fev 20, 2019 4:42 pm
Qua Fev 20, 2019 4:41 pm
Qua Fev 20, 2019 4:40 pm
Qua Fev 20, 2019 3:36 pm
Qua Fev 20, 2019 2:43 pm
Qua Fev 20, 2019 12:11 pm
Qua Fev 20, 2019 10:15 am
Ter Fev 19, 2019 11:31 pm
Ter Fev 19, 2019 5:24 pm
Ter Fev 19, 2019 1:14 pm
Ter Fev 19, 2019 12:40 pm
Ter Fev 19, 2019 12:02 am
Seg Fev 18, 2019 9:28 pm
Seg Fev 18, 2019 10:27 am
Seg Fev 18, 2019 2:30 am
Dom Fev 17, 2019 11:00 pm
Dom Fev 17, 2019 10:58 pm
Dom Fev 17, 2019 8:35 pm
Dom Fev 17, 2019 7:51 pm
Dom Fev 17, 2019 5:39 pm
Dom Fev 17, 2019 3:34 pm
Dom Fev 17, 2019 2:54 pm
Dom Fev 17, 2019 2:30 pm
Dom Fev 17, 2019 2:13 pm
Dom Fev 17, 2019 1:11 pm
Dom Fev 17, 2019 12:42 am
Sab Fev 16, 2019 6:14 pm
Sab Fev 16, 2019 11:38 am
Sab Fev 16, 2019 7:46 am
Sex Fev 15, 2019 7:23 pm
Sex Fev 15, 2019 6:34 pm
Sex Fev 15, 2019 9:20 am
Qui Fev 14, 2019 9:00 pm
Qui Fev 14, 2019 8:58 pm
Qui Fev 14, 2019 8:53 pm
Qui Fev 14, 2019 11:57 am
Qua Fev 13, 2019 10:40 pm
Qua Fev 13, 2019 8:10 pm
Qua Fev 13, 2019 1:11 pm
Qua Fev 13, 2019 9:48 am
Qua Fev 13, 2019 9:25 am
Qua Fev 13, 2019 9:23 am
Ter Fev 12, 2019 11:03 pm
Ter Fev 12, 2019 4:15 pm
Ter Fev 12, 2019 4:07 pm
Ter Fev 12, 2019 2:07 pm
Ter Fev 12, 2019 1:14 pm
Ter Fev 12, 2019 4:32 am
Ter Fev 12, 2019 4:06 am
Ter Fev 12, 2019 2:03 am
Ter Fev 12, 2019 12:54 am
Ter Fev 12, 2019 12:52 am
Ter Fev 12, 2019 12:26 am
Ter Fev 12, 2019 12:26 am
Ter Fev 12, 2019 12:19 am
Ter Fev 12, 2019 12:13 am
Ter Fev 12, 2019 12:05 am
Seg Fev 11, 2019 11:46 pm
Seg Fev 11, 2019 11:28 pm
Seg Fev 11, 2019 10:43 pm
Seg Fev 11, 2019 10:39 pm
Seg Fev 11, 2019 10:30 pm
Seg Fev 11, 2019 10:26 pm
Seg Fev 11, 2019 8:09 pm
Dom Fev 10, 2019 7:23 pm
Dom Fev 10, 2019 5:59 pm
Dom Fev 10, 2019 7:19 am
Dom Fev 10, 2019 12:25 am
Sex Fev 08, 2019 12:40 am
Qui Fev 07, 2019 7:53 pm
Qui Fev 07, 2019 6:23 pm
Qua Fev 06, 2019 5:36 pm
Ter Fev 05, 2019 6:21 pm
Ter Fev 05, 2019 4:32 pm
Seg Fev 04, 2019 9:23 pm
Seg Fev 04, 2019 2:00 pm
Seg Fev 04, 2019 1:58 pm
Seg Fev 04, 2019 11:26 am
Dom Fev 03, 2019 10:39 pm
Dom Fev 03, 2019 3:36 pm
Dom Fev 03, 2019 12:23 pm
Dom Fev 03, 2019 12:54 am
Sab Fev 02, 2019 5:41 pm
Sab Fev 02, 2019 3:28 pm
Sab Fev 02, 2019 1:16 pm
Sex Fev 01, 2019 6:21 pm
Sex Fev 01, 2019 3:24 pm
Sex Fev 01, 2019 11:18 am
Qui Jan 31, 2019 11:17 pm
Qui Jan 31, 2019 9:24 pm
Qui Jan 31, 2019 8:17 pm
Qui Jan 31, 2019 7:21 pm
Qui Jan 31, 2019 3:06 pm
marcos4503
Isabela
adenilson romao
marcos4503
Madness
Selzler
dstaroski
dstaroski
dstaroski
SmithSchuldiner
Daniel Dória
JohnRambo
marcos4503
Flávio
rafaelholanda
marcos4503
marcos4503
Zack2
Magnatah
Daniel Dória
fabricadegame
MarcosSchultz
MarcosSchultz
Daniel Dória
vitorhugo
fabricadegame
fabricadegame
Madness
AzulBananaFosco
AzulBananaFosco
adenilson romao
Madness
fabricadegame
guimaraf
Encracker
Flávio
Flávio
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
AnderGames
MarcosSchultz
Zack2
Callyde Jr
Weslley
numb123
numb123
Isabela
Weslley
Weslley
Unidade3d5
richerd
hetrodo
Fabio Palacios
Encracker
Encracker
guimaraf
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Kayke_27
AnderGames
Mark1nDeveloper
marcos4503
JohnRambo
guimaraf
Tegh
Kayke_27
wolney.almeida
Tegh
Weslley
guimaraf
JohnRambo
JohnRambo
glauco
speedluk
NKKF
gilgsjr
soohzinha
Lynx777
MayLeone
dimmuo
glauco
KAYLLONBR
JrdeAmorim
Édipo
Agios
vanderval
francisco barroso
bielTuvel

[TUTORIAL] Snake com Unity + C#

Ir em baixo

TUTORIAL [TUTORIAL] Snake com Unity + C#

Mensagem por MayLeone em Sab Out 06, 2018 11:41 am

Introdução:
No tutorial de hoje de nossa série "Remakes na Unity", nós iremos recriar o tão famigerado "Jogo da cobrinha", também conhecido como "Snake".
Para estes tutorial nós iremos explorar a função "Instantiate" e os Vectors, bem como iremos nos utilizar de laços de repetições e lists.

Preparando o projeto:
Abra a engine Unity num novo projeto 3D e chame-o de "Snake Game".
Faça com que a janela da cena fique em modo "2D", enquanto a janela da cena tenha resolução 3:2, de preferência com o layout 2 por 3 para melhor visualização:



Após fazer isso, selecione a câmera através da janela do Inspector e faça com que a posição dela fique zero em X e Y e -30 em Z, também selecione a propriedade "Clear Flags" e coloque para "Solid Color", selecionando a cor preta na propriedade "Background":




Agora vá em File >> Save Scenes para salvar a cena, após fazer isso vá novamente para File >> Build Settings e tenha certeza de que sua cena está na janela:




Feche esta tela e agora vá para Window >> Lighting >> Settings >> Desmarque a opção "Auto Generate" >> Clique em "Generate Lighting" para que possamos buildar a iluminação e não termos divergências na mesma quando carregarmos a cena. Após realizar esse processo, feche a janela.

Criando o cenário:
Para criarmos o pequeno cenário do jogo, crie um novo cubo na cena e chame-o de "Top". Esse cubo irá representar a borda superior do cenário. Redimensione este cubo através do eixo X de forma que ele seja realmente uma borda e posicione-o no mundo no local que desejar.
Caso a posição Y deste objeto seja um valor flutuante (ex: 8.93) arredonde o valor para um número inteiro (ex: 9)


Agora crie mais três cubos em cena com os nomes: Bottom, Left e Right, escalonando-os para que se tornem as bordas e ajustando os mesmos nas posições com valores inteiros (Right e Left o valor deve ser arredondado em X, enquanto Bottom em Y). Faça isto até ter algo mais ou menos como isto:


Crie mais um novo cubo em cena, mas agora deixe-o com os valores padrões e torne-o prefab. Crie também uma esfera e também faça com que a mesma se torne prefab.
O que iremos fazer é que as partes da cobrinha serão os cubos padrões da Unity, enquanto a "food" (aquele item coletável do jogo) seja a esfera. 
Como iremos instanciá-los em tempo de execução, precisamos ter prefabs de ambos.

Declarando as variáveis:
Crie um novo C# script com o nome de "Snake" e já inicie o mesmo fazendo referência à biblioteca "UnityEngine.SceneManagement".
Após fazer isso, iremos declarar as nossas variáveis públicas:



As variáveis do tipo "GameObject" irão armazenar as referências dos prefabs da cobrinha e da comida respectivamente, enquanto os dois Vector2 irão armazenar os valores das bordas entre máximo e um valor mínimo, já o GUIStyle irá definir o estilo da Label que irá mostrar os pontos do jogador, e por fim, xUI e yUI irão posicionar esta label dentro da GUI através das coordenadas na tela.
Todas essas variáveis serão manipuladas através do Inspector, por esta razão devem ser públicas.

Agora vamos declarar as variáveis privadas:




A variável "foodClone" irá armazenar a instância da comida para que possamos manipulá-la em nosso código, depois nós teremos uma List do tipo "GameObject" chamada "body" que irá então armazenar os objetos que farão parte do corpo da cobrinha, assim poderemos fazer com que todos se movimentem e verifiquem colisões, já o "snakeDirection" irá definir a direção para onde a cobrinha irá se mover, enquanto o enum "Directions" irá limitar as 4 direções possíveis, para evitar que a cobrinha não se movimente de forma errada e cause erros. Para controlar esse movimento, temos uma variável do tipo "Directions" que irá armazenar a direção corrente da cobrinha.
Enquanto isto, temos duas variáveis booleanas: uma controla o momento em que a cobrinha poderá se mover, enquanto a outra controlar o fluxo do jogo, checando se temos um game over ou não, por fim, as variáveis numéricas irão armazenar respectivamente os pontos do jogador e o tempo de espera de cada movimento que a cobrinha dará.

Iniciando o jogo:
Após declarar todas as variáveis corretamente, vá ao método "Start" e inicie as variáveis conforme a imagem abaixo:



Iremos fazer com que a cobrinha inicialmente seja posicionada para a direita e se movimente para esta orientação, por isso que iniciamos "snakeDirections" e "direction" com os valores em "right".
Também fizemos com que a variável "canMove" receba true inicialmente, possibilitando a cobrinha de dar o primeiro movimento, a variável "gameOver" em false, pois não é o fim do jogo, enquanto fizemos com que o jogador tenha zero pontos no score e que a velocidade da cobrinha seja 0.2, ou seja, a cada 0.2 segundos ela vai se movimentar.

Após inicializarmos as variáveis, iremos instanciar um corpo inicial para a cobrinha com alguns cubos (podemos colocar uns 5, por exemplo).
Para fazer isto, iremos criar um laço de repetição que rode 5 vezes e que adicione à list "body" as instancias do prefab "snake" através da função "Instantiate". Já com relação à posição, faça com que iniciem em Vector2.left para que possam ser instanciados os cubos um atrás do outro (fazendo com que a cabeça da cobrinha seja o elemento na posição zero da list) e multiplicando esse valor pelo contador do laço:



Salve o script (CTRL+S) e adicione-o na câmera.
Através do inspector relacione os prefabs "snake" como o cubo e a esfera como "food".
Também defina as bordas máximas e mínimas do cenário, tendo como referência as posições de Top, Bottom, Right e Left, sendo a posição X de Right a borda máxima em X e a posição Y de Top a borda máxima em Y. A posição X de Left será referente ao borda mínima em X e a posição Y de Bottom será a borda mínima em Y:


Agora teste o jogo e veja que o corpo da cobrinha foi instanciado dentro da tela do jogo:



Gerando a comida:
Volte para o script porque agora faremos a função que vai instanciar a comida.
Crie a função sem retorno com o nome de "GenerateFood" e faça com que duas variáveis locais, uma chamada "X" e outra chamada "Y" recebam um valor aleatório (através da Classe Random) entre a borda mínima e a borda máxima, relativas à coordenada referente. Também arredonde esses valores com Mathf.Round para que os mesmos não sejam gerados como números decimais.
Após isso, instancie dentro da variável "foodClone" o prefab da esfera ('food') nas posições de X e Y que foram geradas aleatoriamente.
Agora devemos verificar se a comida foi instanciada em algum local válido, ou seja, onde o corpo da cobrinha não está atualmente e também se foi gerada dentro das extremidades das bordas, ou seja, em locais inacessíveis. 
Se for o caso de alguma dessas ocorrências, nós iremos destruir a referência dentro de foodClone e iremos recursivamente chamar a função GenerateFood para ela gerar uma nova posição correta para a comida:



Agora chame esta função dentro do Start (após o laço) para gerar a primeira comida do jogo, e veja que ao testar, a mesma nunca é instanciada dentro das bordas e nem nas posições dos cubos que compõem a cobrinha, exemplo:



Verificando Inputs do teclado:
Agora faremos a função que irá verificar quais teclas do teclado foram pressionadas para movimentar a cobrinha.
Para isto, crie uma função sem retorno com o nome de "CheckInput" e crie as condições referentes às teclas: direita, esquerda, cima e baixo. Essas condições devem conter o input da tecla pressionada e uma validação da direção, que só poderá movimentar a cobrinha para a direção do input se a direção atual da cobrinha não é inversa, por exemplo: não poder movimentar a cobrinha para a direita se ela estiver virada para a esquerda e vice-versa.
Dentro desta condição, mude a direção da cobrinha através do Vector3 e o valor da variável direction:


Agora dentro da função Update, chame este método com a condição de que a variável "gameOver" deve estar false:



Movimentando a cobrinha:
Mas por enquanto nós apenas estamos mudando a direção da cobrinha de acordo com o input do teclado, para que possamos de fato movimentar a cobrinha precisamos criar uma função.
Crie um método chamado "Move" sem retorno.
Para que possamos fazer com que o corpo da cobrinha se movimente por completo, precisamos utilizar um laço de repetição que percorra a list "body" para podermos manipular o transform.position de todos os cubos que compõem a cobrinha.
Já que todos os cubos seguem a movimentação do cubo à sua frente, poderíamos fazer com que o elemento da list "body" na posição atual do laço receba a posição do cubo à sua frente (elemento antecessor na list), mas para isso, precisamos saber a posição anterior desse elemento antes que ele se movimente, porém quando o laço receber o incremento, o cubo antecessor do elemento atual já vai ter se movido e perderemos a posição anterior dele.
Para evitar este problema, podemos fazer com que o laço inicie do último elemento da list e vá percorrendo a mesma de trás pra frente, assim movimenta-se o último cubo para a posição do penúltimo, o penúltimo pra posição do anti-penúltimo, e assim sucessivamente, até chegar no cubo na posição 1 da list (antes da cabeça), ele se movimenta para onde a cabeça estava, e a cabeça é a única que vai se movimentar de acordo com o input do teclado, então essa função ficaria asim:



Agora, se esta função for chamada dentro do Update a cobrinha vai se movimentar muito rápido, por isso devemos ter um tempo de espera para que essa função seja chamada, ou seja, a cada x segundos chamar a movimentação.
Podemos utilizar um IEnumerator para controlar esse tempo de espera. Como esta corrotina será chamada dentro do Update, devemos ter uma variável de controle que irá definir quando a corrotina poderá ser chamada no Update, no caso "canMove".
O IEnumerator deve estar assim:



Então à cada 0.2 segundos chamaremos a função de movimentação, pois definimos em "timeTick" este tempo.
Vá para  Update e dentro da condição de gameOver estar false, crie uma outra condição verificando se "canMove" é true e chame a corrotina "Tick":


Teste o jogo e veja que agora você pode movimentar a cobrinha pela cena e que o resto do corpo segue a direção do input do teclado.

Colisão com a comida:
Agora que terminamos de desenvolver a mecânica de movimentação, vamos criar uma função que verifique se a cabeça da cobrinha colidiu com a comida para que possamos ganhar uma nova parte do corpo e aumentar os pontos:


Aqui nós estamos verificando se as posições de foodClone e da cabeça da cobrinha são iguais e caso sim, incrementa-se a variável "score", adiciona uma nova instância do prefab da cobrinha na posição do último elemento da list, destrói a comida e depois gera uma nova, chamando a função "Generate food".
Chame essa função (CheckFood) dentro do Update após a chamada de "CheckInput".
Jogue e perceba que cada vez que coleta-se a esfera, a cobrinha vai crescendo:


Verificando fim de jogo:
Você pode notar que o jogo já está quase completo, estamos precisamos de uma função que verifique se a cabeça da cobra bateu em alguma parte dela mesma ou se ela bateu em alguma das bordas, fazendo com que o jogo acabe.
Então vamos lá, crie essa função sem retorno com o nome de "CheckDeath" e faça com que um laço de repetição percorra toda a list do corpo da cobrinha (com exceção da própria cabeça e do cubo atrás da cabeça) verificando se a cabeça da cobra está uma unidade à frente (colidiu pelos lados) com algum cubo da list, para que possamos verificar se a cabeça colidiu com o próprio corpo.
Para verificar se colidiu uma unidade à frente, subtraia a posição atual do cubo com "snakeDirection".
Caso a cobra colida com ela mesma, faça com que "gameOver" fique true:


Também crie a condição que verifica se a cabeça da cobrinha colidiu pelas bordas:


Chame essa função dentro do Update após "CheckFood".

GUI do jogo:
Vamos agora por fim criar a GUI do jogo, primeiro a label que irá mostrar os pontos do jogador, e depois um botão que aparece na cena quando "gameOver" for true:


Quando clicamos no botão de "Play again", a cena é recarregada e então o Start é chamado de novo e o jogo se reinicia.

Salve o script e vá para o inspector da câmera, e expanda as propriedades de "Style" e então configure a fonte que mostra os pontos da forma que quiser.
Eu apenas deixei a cor da fonte branca, em negrito e com tamanho 30. em xUI e yUI você posiciona essa label na tela da forma que achar melhor.

Final:
Agora teste o jogo: quando você colidir com as bordas ou consigo mesmo o jogo dará game over, e o botão para iniciar aparecerá na tela.
O resultado final será mais ou menos este:





Última edição por dstaroski em Sab Out 06, 2018 11:43 am, editado 1 vez(es) (Razão : Acrescentado o pré fixo [TUTORIAL])
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 793
REPUTAÇÃO : 234
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Snake com Unity + C#

Mensagem por dstaroski em Sab Out 06, 2018 11:42 am

Bom dia! o que que eu vou dizer, uma joia rara! Parabéns pela excelente aula!

Abraço!
dstaroski
dstaroski
Instrutor

Masculino PONTOS : 4074
REPUTAÇÃO : 1051
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D

Respeito as regras :

Ver perfil do usuário http://diegodeoliveira.gamejolt.io/defeattheilluminatis

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Snake com Unity + C#

Mensagem por NKKF em Sab Out 06, 2018 1:33 pm

Aula top, vou até fazer um xDD
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2234
REPUTAÇÃO : 435
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

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