Menu
CoddyTech

기본값으로 불러오기

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

한 번도 저장되지 않은 키를 읽으면 0이 반환되며, 일부 값에는 0이 적절한 시작값이 아닙니다. 레이싱 게임에서 플레이어는 경주에 참가할 컴퓨터 라이벌의 수를 선택할 수 있으며, 새 플레이어는 3명과 경주해야 합니다. 모든 Get은 두 번째 인수인 기본값을 받으며, 키가 없을 때 이 값을 반환합니다:

int rivals = PlayerPrefs.GetInt("Rivals", 3);
string driver = PlayerPrefs.GetString("Driver", "Rookie");

플레이어가 혼자 연습하기 위해 라이벌 수를 0으로 저장하면 GetInt("Rivals", 3)은 0을 반환합니다. 기본값은 키가 없을 때만 사용됩니다. 그래서 if (rivals == 0) rivals = 3;은 기본값을 지정하는 잘못된 방법입니다. 저장된 0과 저장된 값이 없는 경우를 구분할 수 없어서 모든 연습 경주에 라이벌 3명을 다시 추가하게 됩니다.

PlayerPrefs.HasKey(key)는 값과 관계없이 키가 저장된 적이 있는지 확인하므로, 첫 게임인지 이후 게임인지 알려줍니다. 이 게임은 새 드라이버를 맞이합니다:

void Start()
{
    if (!PlayerPrefs.HasKey("Driver"))
    {
        Debug.Log("First race! Pick a name in the garage.");
    }
    string driver = PlayerPrefs.GetString("Driver", "Rookie");
    Debug.Log("Driver: " + driver);
}

키를 저장하는 코드보다 먼저 HasKey를 확인하세요. 처음 저장한 뒤부터 키를 PlayerPrefs.DeleteKey로 삭제할 때까지 true를 반환합니다.

challenge icon

챌린지

중급

아케이드 기계는 플레이어의 크레딧을 Credits 키에 저장합니다. 스페이스바를 누르면 크레딧 1개를 사용해 게임을 플레이하고, 게임이 끝날 때마다 남은 크레딧이 저장됩니다. 아직 신규 플레이어는 처리되지 않습니다.

  • 저장된 크레딧이 없는 플레이어는 무료 크레딧 5개로 시작합니다. 크레딧을 모두 사용한 플레이어는 0개가 저장되어 있으므로 5개가 아니라 0개로 시작합니다.
  • welcomeText 객체(환영합니다! 무료 크레딧 5개가 제공됩니다)는 저장된 Credits가 없는 플레이어에게만 표시됩니다. 다른 플레이어에게는 표시되지 않습니다.

플레이를 누르고 게임을 플레이한 다음, 중지를 누르고 다시 플레이를 누르세요. 환영 메시지가 사라집니다. 그런 다음 확인을 누르세요.

직접 해보기

using UnityEngine;
using TMPro;

public class ArcadeCredits : MonoBehaviour
{
    public TMP_Text creditsText;
    public GameObject welcomeText;
    private int credits;

    void Start()
    {
        credits = PlayerPrefs.GetInt("Credits");
        welcomeText.SetActive(false);
        ShowCredits();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space) && credits > 0)
        {
            credits--;
            PlayerPrefs.SetInt("Credits", credits);
            PlayerPrefs.Save();
            ShowCredits();
        }
    }

    void ShowCredits()
    {
        creditsText.text = "Credits: " + credits;
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

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