Menu
CoddyTech

최고 기록

Coddy Unity 여정의 실제 게임 만들기 섹션에 포함된 레슨. 56개 중 53번째.

challenge icon

챌린지

중급

마지막 단계: 각 레벨은 최고 기록을 기억합니다. 이전 레슨의 모든 내용을 유지하세요. 각 레벨의 HUD 오른쪽 위에는 BestText가 있고, 씬에서는 이를 FinishLine의 새 필드 bestText에 연결합니다.

FinishLine에서 (using TMPro; 추가):

  • Inspector에서 설정하는 TMP_Text 필드 bestText와 플레이 기록 시간: 매 프레임 Time.deltaTime만큼 증가하는 float입니다.
  • 각 레벨은 해당 레벨만의 PlayerPrefs 키에 최고 기록을 저장합니다. BestTime_ 뒤에 레벨 이름을 붙입니다. 예: BestTime_Level1.
  • Start에서 레벨의 저장된 최고 기록을 소수점 한 자리까지 표시합니다. Best: 12.4 s와 같이 표시하거나, 아직 최고 기록이 없으면 Best: none을 표시합니다.
  • 플레이어가 결승선을 통과하면 다음 레벨이 로드되기 전에 해당 레벨의 최고 기록이 아직 없거나 이번 기록이 더 빠른 경우 플레이 기록을 저장합니다. 더 느린 기록은 최고 기록에 영향을 주지 않습니다.

Play를 눌러 기록을 세운 다음, 그 기록을 경신해 보고 Check를 누르세요.

직접 해보기

using UnityEngine;
using UnityEngine.SceneManagement;

public class FinishLine : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        if (other.GetComponent<Player>() == null) return;

        Scene level = SceneManager.GetActiveScene();
        Debug.Log(level.name + " complete!");
        int next = level.buildIndex + 1;
        if (next >= SceneManager.sceneCountInBuildSettings)
        {
            next = 0;
        }
        SceneManager.LoadScene(next);
    }
}

실제 게임 만들기의 모든 레슨