“Coletar Diamantes”, quando eu pego um diamante , as vezes contabiliza que eu peguei 2 sendo que só peguei um, como resolve isso?
2 curtidas
Isso está acontecendo sempre? Não pode ser que haja dois diamantes no mesmo lugar? Vale a pena dar uma conferida nisso.
De qualquer forma, uma solução para evitar duplicação seria fazer uma pequena alteração no script de ColetarDiamante. Você pode criar uma variável para armazenar o último diamante coletado. Quando o diamante for destruído, a variável será redefinida para null
, impedindo que o código entre no if
novamente até que a variável esteja vazia.
private GameObject ultimoDiamanteColetado;
private void OnControllerColliderHit(ControllerColliderHit hit)
{
if(hit.gameObject.tag == "Diamante" && ultimoDiamanteColetado == null)
{
ultimoDiamanteColetado = hit.gameObject;
// Aqui você pode adicionar a lógica de coleta...
}
}
1 curtida
Deu certo! Obrigado.
2 curtidas