플레이어가 기본 / 지상에서 떨어지면 가장 가까운 체크 포인트에서 플레이어가 부활하기를 원하는 2D Platformer 게임을 만들고 있습니다. 그러나 나는 플레이어가 땅에서 떨어지고 부활하는 사이에 지연이 있기를 원합니다. 이 목표를 달성하기 위해 내 코드 섹션입니다.
private void OnTriggerEnter2D(Collider2D collision)
{
Debug.Log(collision.tag);
if (collision.tag.Equals("Kill"))
{
StartCoroutine("Respawn");
}
else if(collision.tag.Equals("Checkpoint"))
{
Animator flag = collision.GetComponent<Animator>();
if (!flag.GetBool("hasCrossed"))
{
flagCounter++;
flag.SetBool("hasCrossed", true);
checkpoint = collision.gameObject.transform.position;
}
}
}
IEnumerator Respawn()
{
yield return new WaitForSeconds(respawnDelay);
transform.position = checkpoint;
}
1 초 또는 2 초와 같은 작은 리스폰 지연에 적합합니다. 그러나 지연 시간을 5 초로 늘리면 가장 가까운 검사 점에 나타난 플레이어가 즉시 사라지고 몇 번 반복 한 후에 플레이어가 다시 나타납니다.
이 문제를 어떻게 해결할 수 있습니까?
3
애니메이션 스크린 샷을 사랑하십시오!
—
Konerak