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:
[TUTORIAL] Unity 3D - AnimationCurve
Rotação de um gameobject sem que os gameobjects filhos se alterem?
Várias faixas de música
Colocar video no unity
[RESOLVIDO] Partículas com imagem
[RESOLVIDO] DUVIDA SOBRE ATIVAR UM GAMEOBJECT ATRAVÉS DE UMA CONDIÇÃO
[TUTORIAL] Como carregar uma cena em segundo plano?
Qualidade do sprite - Compression
NavMesh não consegue reproduzir sprits de um jogador
NavMesh não faz animação do jogador
Bom dia amigos compro assets do meu interesse!
Criar Ranking Online
ScrollView rapida e facil de fazer
colocar imagem no fórum
Unity ou Game Maker Studio
[TUTORIAL] Tocar audios de uma lista em uma sequência que se repete
Error CS0246, não sei o que fazer
Como faço pra um colisor não reconhecer outro colisor sem usar IsTrigger
[RESOLVIDO] Alteração de nomes e rastreamento das mudanças
Som unity
CHAVE DE ASSINATURA
[TUTORIAL]identificar se está no controle ou teclado
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Não estou conseguindo ativar o evento do onClick após instanciar o botão
Exportar Modelo 3D da Unity
Traduções e Dublagens de games
Duvida sobre Spawn
Dúvida sobre volatile
[UE4] Por favor me digam como me livrar do motion blur!
[RESOLVIDO] Float to transform
[RESOLVIDO] mudar a cor quando a personagem passa
Como ativar um 'Panel'
Como faço pra desligar e ligar outro text?
Como Faço Para Ativar/Desativar Material Por Script ?
como modificar o script para receber e registar o dano no personagem
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Meu personagem está tomando repulsão da parede
Problemas com IEnumerator
Meu personagem ta tremendo quando toca em alguma coisa
[TUTORIAL] Como criar tiro no Unity usando Raycast
Scripts travados
Como faço para mudar a posição de um objeto para perto de outro.
Alteração de personagens durante o jogo // parte 2
Como se faz uma grid, apenas e somente uma grid em 3D?
meu primeiro jogo pronto
quero corverter uma int em string
Como mudar a posição de um objeto constantemente sem estar na void Update
Como conseguir fazer para minha moto dar grau
[RESOLVIDO] Alteração de personagens durante o jogo
Como fazer um retrovisor leve para android?
Preciso de um script para andar de moto alguem consegue me ajudar
Como consigo fazer esse efeito de escurecer o ambiente ao atacar?
Como fazer pra selecionar um inimigo pra atacar de varios unity 2d
Setparent Photon
duvida em sistema de Horror de como pegar e solta objeto
[UE4] Como fazer cutscene com o próprio personagem?
Plataforma Flutuante
OS Tycoon (DEVLOG) - Crie seu próprio sistema operacional
[RESOLVIDO] Grande X vermelho
Como desativo o vsync em projeto para celular?
Como fazer uma compra aleatoria em uma cena
Sistema de propagação de fogo
[TUTORIAL] Como utilizar a função " Instantiate "
Inteligencia Artificial
Como faço pra deixar as luzes mais leves em um jogo 2d
[TUTORIAL] Unity 2019.4 ou superior - PRESETS
colocar Produtos na Playstore, procuro freelancer.
Tem como fazer o jogo forçar o hardware do celular para rodar melhor?
Como fazer efeito de digitação em um texto
[TUTORIAL] Texto suave (UI)
Box, Whell e outros Collider Esta vindo 10x maior que o Objeto
Objetos não respeitam script
[RESOLVIDO] Duvidas sobre dar restart na cena com Scene Management
Game Jam - GAME JAAJ 5 (prêmio 1.800 reais)
Ativar e desativar botão UI
[RESOLVIDO] Duvidas sobre o Canvas, preFabs e o collisor na Unity
Como fazer formas em ligths
Como usar e programar shaders no unity?
Como manipular o deslizamento do Player?
Problemas com UnityAds
[RESOLVIDO] Como fazer para meu Player andar por um terreno irregular?
[RESOLVIDO] Quero saber se tem na unity alguma funçao  que seja um trigger?
Trailer oficial do jogo Project Lazarus parte 2
[RESOLVIDO] PQ A UNITY LIMITA OS FPS QUANDO FAZ O BUILD?
[RESOLVIDO] Como faço uma seta na direção do inimigo?
Problema com shape key(blend shape) em humanoid rigg
[TUTORIAL] Joystick virtual para mobile
Como fazer para um objeto não colidir com um "collider" e o outro objeto si
Botão de DOAÇÃO
[RESOLVIDO] Como Posso Fazer Um Giroflex ??
(Unity2D) Como fazer o personagem cair mais rápido depois do pulo
Script de movimentação
[TUTORIAL] Script super simples Para ficar de Dia e de Noite Automaticamente.
Quais as melhores engines para programar mobile?
[ASSET] Personagem básico Para Testes Com Bones
Easy Quiz Creator Criar Quiz Facilmente em Unity
Como Descobrir cor predominante em uma Textura2D/Material ?
Queria mudar de imagem
Dropdown e comparação com String
Ontem à(s) 6:40 pm
Ontem à(s) 3:39 pm
Ontem à(s) 3:01 pm
Ontem à(s) 2:35 pm
Ontem à(s) 11:43 am
Ontem à(s) 11:12 am
Ontem à(s) 10:57 am
Ontem à(s) 10:51 am
Sex Jan 15, 2021 8:20 pm
Sex Jan 15, 2021 1:39 am
Qui Jan 14, 2021 9:53 pm
Qui Jan 14, 2021 7:44 pm
Qui Jan 14, 2021 5:35 pm
Qui Jan 14, 2021 3:55 pm
Qui Jan 14, 2021 2:07 pm
Qui Jan 14, 2021 1:51 pm
Qui Jan 14, 2021 12:56 pm
Qua Jan 13, 2021 6:57 pm
Qua Jan 13, 2021 2:45 pm
Ter Jan 12, 2021 11:14 pm
Ter Jan 12, 2021 8:14 pm
Ter Jan 12, 2021 3:16 pm
Seg Jan 11, 2021 6:26 pm
Seg Jan 11, 2021 5:55 pm
Seg Jan 11, 2021 10:51 am
Dom Jan 10, 2021 10:57 pm
Dom Jan 10, 2021 7:18 pm
Dom Jan 10, 2021 6:21 pm
Dom Jan 10, 2021 3:24 pm
Dom Jan 10, 2021 2:31 pm
Dom Jan 10, 2021 2:29 pm
Dom Jan 10, 2021 10:44 am
Sab Jan 09, 2021 9:30 pm
Sex Jan 08, 2021 9:14 am
Sex Jan 08, 2021 7:07 am
Sex Jan 08, 2021 1:02 am
Sex Jan 08, 2021 12:33 am
Qui Jan 07, 2021 7:31 pm
Qui Jan 07, 2021 5:31 pm
Qui Jan 07, 2021 3:51 pm
Qui Jan 07, 2021 3:49 pm
Qui Jan 07, 2021 12:12 am
Qua Jan 06, 2021 7:40 pm
Qua Jan 06, 2021 4:57 pm
Qua Jan 06, 2021 7:36 am
Ter Jan 05, 2021 5:29 pm
Ter Jan 05, 2021 1:58 pm
Ter Jan 05, 2021 10:35 am
Ter Jan 05, 2021 5:22 am
Ter Jan 05, 2021 1:00 am
Ter Jan 05, 2021 12:02 am
Seg Jan 04, 2021 4:33 pm
Seg Jan 04, 2021 3:24 pm
Seg Jan 04, 2021 3:15 pm
Seg Jan 04, 2021 2:23 pm
Seg Jan 04, 2021 2:06 pm
Seg Jan 04, 2021 8:56 am
Dom Jan 03, 2021 8:18 pm
Dom Jan 03, 2021 9:48 am
Dom Jan 03, 2021 4:14 am
Sab Jan 02, 2021 10:11 pm
Sab Jan 02, 2021 8:36 pm
Sab Jan 02, 2021 8:34 pm
Sab Jan 02, 2021 3:36 pm
Sab Jan 02, 2021 11:45 am
Sab Jan 02, 2021 5:50 am
Sab Jan 02, 2021 2:37 am
Sex Jan 01, 2021 7:09 pm
Sex Jan 01, 2021 4:50 pm
Qui Dez 31, 2020 4:47 pm
Qui Dez 31, 2020 3:42 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:38 pm
Qui Dez 31, 2020 3:34 pm
Qui Dez 31, 2020 2:42 pm
Qui Dez 31, 2020 11:25 am
Qui Dez 31, 2020 10:08 am
Qui Dez 31, 2020 9:36 am
Qui Dez 31, 2020 12:14 am
Qua Dez 30, 2020 11:47 pm
Qua Dez 30, 2020 6:50 pm
Qua Dez 30, 2020 3:08 pm
Qua Dez 30, 2020 2:59 pm
Qua Dez 30, 2020 2:10 pm
Qua Dez 30, 2020 12:39 am
Ter Dez 29, 2020 6:41 pm
Ter Dez 29, 2020 12:23 pm
Seg Dez 28, 2020 8:02 pm
Seg Dez 28, 2020 6:45 am
Sab Dez 26, 2020 12:41 pm
Sex Dez 25, 2020 7:16 pm
Sex Dez 25, 2020 2:28 pm
Sex Dez 25, 2020 12:30 pm
Qui Dez 24, 2020 9:07 pm
Qui Dez 24, 2020 11:01 am
Qua Dez 23, 2020 9:00 pm
Qua Dez 23, 2020 6:49 pm
Qua Dez 23, 2020 5:20 pm
Qua Dez 23, 2020 4:50 pm
MarcosSchultz
Fagner
Pokedlg
SauloeArthur
dragongirl
dutrabr100
NKKF
NKKF
Ren Allen
Ren Allen
LucasGamerFx
SauloeArthur
NKKF
dutrabr100
SauloeArthur
Pokedlg
SauloeArthur
dutrabr100
Alexandre Santos
Pokedlg
starfreddybou69
diegopds
Super
dutrabr100
TIKO
dutrabr100
dutrabr100
SauloeArthur
lesgoy
Fagner
Pokedlg
dutrabr100
Pokedlg
SauloeArthur
redPRO
glauco
Op3000
Pokedlg
JulioWinchester
SauloeArthur
SauloeArthur
Leozitu
Ren Allen
speedluk
SauloeArthur
BatataBugada54321
Pokedlg
Pokedlg
Ren Allen
Fagner
123
Pokedlg
macinhadeborracha
MRX
giowde
lesgoy
TIKO
Micco
Leonardo André
lesgoy
Moskeiro
Fagner
mama2401
Fagner
BRGC
fabricadegame
NyanHeavyBR
rafaelPortugal
dutrabr100
acefogo
MarcosSchultz
MarcosSchultz
acefogo
MarcosSchultz
BatataBugada54321
acefogo
brizaloka
Pokedlg
Neyuriki
Magnatah
Portela
LipoGames
Patrick
cristiano732
speedluk
Fagner
jorge silva
Fagner
JoelMJunior
EricknhYT
Fagner
dutrabr100
JohnRambo
MarcosSchultz
NerdGuin
SauloeArthur
Fagner
kalielson
Inequalis

[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

[TUTORIAL] Snake com Unity + C# 2%2B%25281%2529
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:

[TUTORIAL] Snake com Unity + C# Untitled-2


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":


[TUTORIAL] Snake com Unity + C# Untitled-3


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:


[TUTORIAL] Snake com Unity + C# Untitled-4


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)

[TUTORIAL] Snake com Unity + C# Untitled-5

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:

[TUTORIAL] Snake com Unity + C# Untitled-6

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:


[TUTORIAL] Snake com Unity + C# Untitled-7

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:


[TUTORIAL] Snake com Unity + C# Untitled-8


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:


[TUTORIAL] Snake com Unity + C# Untitled-9

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:

[TUTORIAL] Snake com Unity + C# Untitled-10


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:

[TUTORIAL] Snake com Unity + C# Untitled-11

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

[TUTORIAL] Snake com Unity + C# Untitled-12


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:

[TUTORIAL] Snake com Unity + C# Untitled-13


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:

[TUTORIAL] Snake com Unity + C# Untitled-14


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:

[TUTORIAL] Snake com Unity + C# Untitled-15

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


[TUTORIAL] Snake com Unity + C# Untitled-16

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:

[TUTORIAL] Snake com Unity + C# Untitled%2B2


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:

[TUTORIAL] Snake com Unity + C# Untitled%2B3


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":

[TUTORIAL] Snake com Unity + C# Untitled%2B4

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:

[TUTORIAL] Snake com Unity + C# Untitled%2B7

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:

[TUTORIAL] Snake com Unity + C# Untitled%2B8

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:

[TUTORIAL] Snake com Unity + C# Untitled%2B9

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

[TUTORIAL] Snake com Unity + C# Untitled%2B10

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:

[TUTORIAL] Snake com Unity + C# Untitled%2B11

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
Instrutor

Feminino PONTOS : 2129
REPUTAÇÃO : 493
Áreas de atuação : Unity & C#
Respeito as regras : [TUTORIAL] Snake com Unity + C# Aad8pUi

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 : 4875
REPUTAÇÃO : 1112
Idade : 31
Áreas de atuação : Unity 3D

Respeito as regras : [TUTORIAL] Snake com Unity + C# Aad8pUi

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 : 3277
REPUTAÇÃO : 524
Idade : 16
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : [TUTORIAL] Snake com Unity + C# Aad8pUi

Voltar ao Topo Ir em baixo

Voltar ao Topo


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