O Corredor
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 60 de 67.
Neste capítulo, você vai criar um jogo pequeno, Dodge the Blocks. Você controla um corredor em uma pista enquanto blocos caem do céu, e um único toque encerra a partida. O jogo inteiro está em um único script, Runner, que ganha um recurso em cada lição: movimentação, blocos caindo, remoção deles, a colisão e uma pontuação.
O primeiro recurso é a movimentação que mantém o corredor na pista, usando Mathf.Clamp(value, min, max) de Catch the Star: ele retorna min quando o valor está abaixo do intervalo, max quando está acima e, caso contrário, o próprio valor. O lugar em que o clamp é aplicado importa. Este medidor de carga enche enquanto a barra de espaço está pressionada, esvazia quando não está e nunca sai do intervalo de 0 a 10:
[SerializeField] private float charge = 0f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
charge += 4f * Time.deltaTime;
}
else
{
charge -= 2f * Time.deltaTime;
}
charge = Mathf.Clamp(charge, 0f, 10f);
transform.localScale = new Vector3(0.5f, charge, 0.5f);
}O clamp vem depois da alteração. Se fosse aplicado primeiro, o valor poderia terminar o quadro um passo além do limite, e a barra seria desenhada a partir desse valor. Mathf.Clamp também retorna um novo número em vez de alterar a variável que você passa, então atribua o resultado de volta.
Desafio
MédioComece Dodge the Blocks com o corredor. O Inspector atribui ao script Runner os valores de speed (6) e laneEdge (4).
- As setas para a esquerda e para a direita movem o corredor ao longo do eixo x a
speedunidades por segundo. - Seu x nunca fica abaixo de
-laneEdgenem acima delaneEdge, então ele permanece na pista.
Pressione Jogar, clique no jogo e corra até as duas extremidades da pista; em seguida, clique em Verificar.
Experimente você mesmo
using UnityEngine;
public class Runner : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private float laneEdge = 4f;
void Update()
{
// mova-se ao longo de x com as setas e depois mantenha x na pista
}
}
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