O Apanhador
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 36 de 67.
Este capítulo cria um pequeno jogo, Catch the Star, com um recurso por lição: uma estrela cai, você desliza um apanhador para a esquerda e para a direita embaixo dela, cada captura vale pontos e faz a próxima estrela cair mais rápido, e três erros encerram o jogo. Tudo isso fica em um único script, Catcher, no apanhador. O primeiro recurso é o movimento: o apanhador desliza com as teclas de seta e nunca sai do chão.
Manter um número dentro de limites é a função de Mathf.Clamp(value, min, max). Ele retorna min quando o valor está abaixo de min, max quando está acima de max e, caso contrário, o próprio valor. Esta câmera acompanha o jogador subindo uma torre, mas sua altura permanece entre 2 e 12:
[SerializeField] private Transform player;
void Update()
{
float y = Mathf.Clamp(player.position.y, 2f, 12f);
transform.position = new Vector3(transform.position.x, y, transform.position.z);
}Clamp retorna um novo número e não altera nada por si só, então atribua o resultado. Faça o clamp depois de todas as alterações do quadro e antes de gravar a posição de volta, e nenhum quadro mostrará o objeto além do limite.
Desafio
MédioFaça o apanhador (a barra azul) se mover. Enquanto a seta para a direita estiver pressionada, ele desliza para a direita (ao longo de +x); enquanto a seta para a esquerda estiver pressionada, ele desliza para a esquerda, ambos a speed unidades por segundo. Suas coordenadas y e z nunca mudam.
O chão vai de x = -5 a x = 5, e o apanhador tem 2 unidades de largura. Limite seu x para que o apanhador inteiro permaneça sempre no chão.
Pressione Jogar, clique no jogo e teste as setas; depois, Verificar.
Experimente você mesmo
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
void Update()
{
// Setas: deslize ao longo de x a speed unidades por segundo.
// Mantenha o coletor inteiro no chão (x de -5 a 5, o coletor tem largura 2).
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Noções básicas de scripting no Unity
1Seu primeiro script
Olá, UnityPosicione o cuboMova a cada quadroGire a cada segundoConduza com as teclasRecapitulando: dirija o cubo4Vetores
Adicionando vetoresDireçõesEspaço local e espaço do mundoVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone7Projeto: Pegue a Estrela
O ApanhadorUma Estrela Cadente10O ciclo de vida dos scripts
Awake e StartUpdate e LateUpdateOnEnable e OnDisableA ordem do ciclo de vidaRevisão: registrador do ciclo de vida5Transformações e Hierarquia
Pais e FilhosEscalaObserve as CoisasMova-se em Direção a um PontoRevisão: Lua em Órbita6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz