A Porta
Parte da seção Física e Jogabilidade do Journey de Unity da Coddy. Lição 71 de 71.
Este desafio conclui a seção: placas que são gatilhos, um código mantido em um único script e uma porta controlada por uma coroutine que espera até que a passagem esteja livre.
Desafio
DifícilAbra a porta ao chegar a Unlocked e feche-a novamente mais tarde, nunca quando o jogador estiver nela.
- Escreva
IEnumerator OpenDoor():door.SetActive(false);, depoisyield return new WaitForSeconds(openTime);. - Em seguida,
while (Physics.CheckSphere(doorway.position, 1f, LayerMask.GetMask("Player"))),yield return null;. - Por último,
door.SetActive(true);e registreDoor closed. Inicie comStartCoroutine(OpenDoor());depois de registrarUnlocked.
Pressione “Jogar”, destranque a porta e saia. Depois, clique em “Verificar”.
Experimente você mesmo
using System.Collections;
using UnityEngine;
public class CodeLock : MonoBehaviour
{
[SerializeField] private Renderer[] plates;
[SerializeField] private GameObject door;
[SerializeField] private Transform doorway;
[SerializeField] private float openTime = 4f;
private int next = 1;
public void Press(int number)
{
if (number == next)
{
Debug.Log("Plate " + number);
next++;
if (next > 3)
{
Debug.Log("Unlocked");
next = 1;
}
}
else
{
Debug.Log("Wrong plate");
next = 1;
StartCoroutine(Flash());
}
}
IEnumerator Flash()
{
foreach (Renderer plate in plates)
{
plate.material.color = Color.red;
}
yield return new WaitForSeconds(1f);
foreach (Renderer plate in plates)
{
plate.material.color = Color.gray;
}
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Física e Jogabilidade
1Rigidbody
Gravidade e MassaEmpurrar com AddForcePular com um ImpulsoFixedUpdate para FísicaVelocidadeCorpos CinemáticosRevisão: Plataforma de Lançamento4Corrotinas
InvocarInvocar repetidamente, Cancelar invocaçãoSua primeira corrotinaLoops em corrotinasInterrompendo corrotinasRevisão: contagem regressiva10Projeto: Fuga da Arena
A ArenaCaçadores2Colisões
OnCollisionEnterO que eu acertei?Quebre no impactoNo chãoQuique e atritoFormas dos collidersRevisão: Parede destrutível5Projeto: Corrida das Moedas
A Bola RolanteMoedas para Coletar8A Câmera
Acompanhamento SuaveCâmera OrbitalAntecipaçãoTremor da CâmeraRevisão: Câmera de Perseguição11Desafios Finais
Alcance do CanhãoAlvos em MovimentoGolfe de Bolinha de GudeDentro do BuracoSala de FugaA PortaPratique por conta própria: Playground de Unity