Invocar
Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 21 de 63.
Invoke("Explode", 3f) chama o próprio método Explode do script uma vez, daqui a 3 segundos, e o código seguinte continua imediatamente. O Unity encontra o método pelo nome, fornecido como uma string, e o método não recebe parâmetros. Esta bomba explode 3 segundos depois que o jogo começa:
void Start()
{
Invoke("Explode", 3f);
}
void Explode()
{
Debug.Log("Boom");
Destroy(gameObject);
}Como o nome é uma string, o compilador não pode verificá-lo. Invoke("Explod", 3f) compila, e, 3 segundos depois, o Unity registra Trying to Invoke method: Bomb.Explod couldn't be called. em vez de explodir. O nameof do C# resolve isso: nameof(Explode) é a string "Explode", criada pelo compilador a partir de um nome que ele verificou; assim, um erro de digitação dentro dela gera um erro de compilação que você vê antes de o jogo ser executado. Escreva Invoke(nameof(Explode), 3f);.
Desafio
FácilA Plataforma entre as duas bordas está desmoronando. Seu Rigidbody é cinemático, então fica suspenso no ar. Escreva seu script Crumble:
- Quando o jogador aterrissa nela, ela espera
delaysegundos (1 no Inspector) e então cai. - Cair é um método chamado
Fall: ele ativa a física da plataforma (isKinematic = false) e registraCrumble!. - Antes de o jogador tocá-la, a plataforma permanece onde está.
Use nameof para o nome do método. Pressione Play e caminhe até a plataforma usando as setas, depois Check.
Experimente você mesmo
using UnityEngine;
public class Crumble : MonoBehaviour
{
public float delay = 1f;
Rigidbody body;
void Start()
{
body = GetComponent<Rigidbody>();
}
void OnCollisionEnter(Collision collision)
{
// Quando o jogador pousar: faça a plataforma cair delay segundos depois
}
// Fall(): ative a física da plataforma e registre Crumble!
}
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çamento2Colisõ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 Coletar