다시 나타나는 코인
Coddy Unity 여정의 물리와 게임플레이 섹션에 포함된 레슨. 63개 중 30번째.
챌린지
중급수집한 코인은 respawnDelay초 후에 다시 나타나므로, 항상 쫓을 대상이 있습니다. 이것은 코인 하나의 생애 동안 기다리는 것으로, 코루틴을 사용합니다. 이전 단계의 내용을 모두 유지하고 Coin을 변경하세요.
public float respawnDelay = 3f;를 추가하세요.- 비활성화된 GameObject는 코루틴을 실행하지 않으므로,
SetActive(false)를 사용하면 코인을 다시 나타나게 하기 전에 코인의 코루틴이 중지됩니다. 코인을 다른 방법으로 숨기세요.Renderer를 꺼서 화면에 그려지지 않게 하고,Collider를 꺼서 다시 수집할 수 없게 하세요. - 수집되면 코인을 숨기고
respawnDelay초 동안 기다린 다음 둘 다 다시 켜는 코루틴을 시작하세요. 점수는 이전처럼 추가됩니다.
플레이를 누르고, 코인을 수집해 다시 나타나는 것을 지켜본 다음 확인을 누르세요.
직접 해보기
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);
}
}
}