Construtor de Torres
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 67 de 67.
Um guindaste desliza para frente e para trás sobre uma base. Cada vez que você pressiona a barra de espaço ou clica, um bloco cai direto do guindaste. Um bloco que cai em cima da pilha fica ali, e o próximo bloco precisa pousar sobre ele. Um bloco que não acerta cai para longe. A altura da pilha é a pontuação.
Escreva o jogo inteiro em um único script, Crane, no guindaste.
Desafio
DifícilEscreva o script Crane no Crane. No Inspector, defina blockPrefab (o prefab Block), top (a Base, o topo da pilha até o momento), craneSpeed (3), craneEdge (4) e fallSpeed (7).
- O guindaste desliza ao longo do eixo x a
craneSpeedunidades por segundo. Depois decraneEdge, ele volta para a esquerda e, depois de-craneEdge, volta para a direita. - A barra de espaço ou um clique com o botão esquerdo solta um Block na coordenada x do guindaste, 1 unidade abaixo dele. Enquanto um bloco está caindo, pressionar novamente não faz nada.
- O bloco que está caindo se move para baixo a
fallSpeedunidades por segundo. - Quando sua coordenada y chega à coordenada y de
topmais 1, e sua coordenada x está a menos de 1 da coordenada x detop, ele pousa: defina sua coordenada y exatamente como a coordenada y detopmais 1, torne-o o novotope registre a altura da pilha comoStack: 1,Stack: 2e assim por diante. - Um bloco que não pousa continua caindo. Abaixo de y = -3, destrua-o e registre
Missed!.
Pressione Play e construa uma torre; depois, Check.
Experimente você mesmo
using UnityEngine;
public class Crane : MonoBehaviour
{
[SerializeField] private GameObject blockPrefab;
[SerializeField] private Transform top;
[SerializeField] private float craneSpeed = 3f;
[SerializeField] private float craneEdge = 4f;
[SerializeField] private float fallSpeed = 7f;
void Update()
{
}
}
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