O tabuleiro
Lição 1 de 14 do curso Jogo 3D da Cobrinha na Unity da Coddy.
Neste curso, você cria o Snake em 3D: uma cobra feita de cubos em um tabuleiro de 15 por 15, visto de cima. Ela se move uma célula por vez, vira usando as setas ou WASD, come, cresce e morre ao bater nas paredes ou na própria cauda. Snake controla a cabeça; GameManager fica vazio até a comida aparecer. O botão “Jogar” inicia o jogo; o botão “Verificar” avalia seu código.
As células têm uma unidade de largura e ficam em números inteiros de -7 a 7. A cobra nunca desliza: ela avança uma célula inteira a cada pulso, uma batida fixa, e fica parada entre eles. Uma batida é um temporizador: some Time.deltaTime a cada quadro e, quando o temporizador atingir a duração da batida, execute a ação e desconte essa duração:
timer += Time.deltaTime;
if (timer >= 0.5f)
{
timer -= 0.5f;
Step();
}Descontar a duração da batida, em vez de definir o temporizador como 0, preserva a fração do quadro que passou do limite, para que a batida não fique atrasada. Use o campo tick, não um número.
Desafio
FácilFaça a cabeça avançar uma célula a cada intervalo.
- Em
Snake, adicioneprivate float timer; - Em
Update(), adicioneTime.deltaTimea timer; quandotimer >= tick, subtraia tick dele e chameStep(). - Em
Step(), adicionedirectionatransform.position.
Pressione “Jogar”: a cabeça avança para a direita, célula por célula, saindo do tabuleiro por enquanto. Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Snake : MonoBehaviour
{
public float tick = 0.15f; // segundos entre dois passos
private Vector3 direction = Vector3.right;
void Update()
{
// A cada tick segundos, execute Step() uma vez
}
void Step()
{
// Mova a cabeça uma célula na direção de direction
}
}
Todas as lições de Jogo 3D da Cobrinha na Unity
Pratique por conta própria: Playground de Unity