As Moedas Voltam
Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 30 de 63.
Desafio
MédioUma moeda coletada reaparece após respawnDelay segundos, então sempre há algo para perseguir. Essa é uma espera dentro do ciclo de vida de uma moeda: uma coroutine. Mantenha tudo das etapas anteriores e altere Coin:
- Adicione
public float respawnDelay = 3f;. - Um GameObject desativado não executa coroutines, então
SetActive(false)interromperia a coroutine da moeda antes que ela pudesse fazê-la reaparecer. Oculte a moeda de outra forma: desative seuRenderer, para que ela não seja desenhada, e seuCollider, para que não possa ser coletada novamente. - Ao coletar a moeda, inicie uma coroutine que a oculte, aguarde
respawnDelaysegundos e, em seguida, reative ambos. A pontuação é adicionada como antes.
Pressione Play, colete uma moeda e observe-a reaparecer; depois, clique em Check.
Experimente você mesmo
using UnityEngine;
public class Coin : MonoBehaviour
{
public int value = 1;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
other.GetComponent<Ball>().AddScore(value);
gameObject.SetActive(false);
}
}
}
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