1. PlayerPrefs
간단한 데이터를 로컬에 저장하고 관리하기 위해 사용된다. 주로 게임 상태, 설정 레벨 진행 상태등을 저장하는데 사용된다. 이를 사용하면 게임을 종료하고 다시 시작해도 저장한 데이터를 유지할 수 있다.
(PlayerPrefs에 데이터를 저장하면 데이터는 Unity 프로젝트의 폴더 내에 있는 PlayerPrefs 파일에 유지된다. 이 파일은 프로젝트를 다시 시작하거나 재시작해도 변경되지 않는다)
2. PlayerPrefs는 Key와 Value 쌍으로 데이터를 저장
01 Key
데이터를 식별하는데 사용되는 문자열 또는 식별자이다.
02 Value
키와 연관된 데이터의 내용 또는 값을 나타낸다. 이는 키를 사용하여 언제든지 불러올 수 있다. 값은 정수, 부동 소수점, 문자열 등의 다양한 데이터 유형을 가질 수 있다.
3. PlayerPrefs 메서드
01 DeleteAll
PlayerPrefs에 저장된 모든 Key와 Value를 제거한다.
public static void DeleteAll();
02 DeleteKey
주어진 Key에 해당하는 값을 PlayerPrefs에서 제거한다.
public static void DeleteKey(string key);
03 SetFloat
주어진 Key에 해당하는 PlayerPrefs의 값을 설정한다. GetFloat메서드를 사용하여 이 값을 다시 불러올 수 있다.
public static void SetFloat(string key, float value);
04 SetInt
주어진 Key에 해당하는 PlayerPrefs의 값을 설정한다. GetInt메서드를 사용하여 이 값을 다시 불러올 수 있다.
public static void SetInt(string key, int value);
05 SetString
주어진 Key에 해당하는 PlayerPrefs의 값을 설정한다. GetString메서드를 사용하여 이 값을 다시 불러올 수 있다.
public static void SetString(string key, string value);
06 HasKey
주어진 Key가 PlayerPrefs에 존재하는지 여부를 확인한다.
public static bool HasKey(string key);
07 Save
변경된 모든 PlayerPrefs값을 저장한다. PlayerPrefs값을 변경한 후에는 이 메서드를 호출하여 변경 내용을 영구적으로 저장할 수 있다.
public static void Save();
08 GetFloat
public static float GetFloat(string key, float defaultValue);
key : 가져올 데이터의 식별을 위한 Key이다. 이 키로 저장된 데이터를 찾는다.
defaultValue : 만약 지정한 key에 연결된 값이 없을 때 반환할 기본값
PlayerPrefs를 사용하여 이전 실행일과 현재 실행일 저장하고 출력시키기
01 날짜와 시간 정보 가져오기
DateTime now = DateTime.Now;
02 이전 실행정보 불러오기
int oldMonth = PlayerPrefs.GetInt("Month");
int oldDay = PlayerPrefs.GetInt("Day");
int oldHour = PlayerPrefs.GetInt("Hour");
int oldMinute = PlayerPrefs.GetInt("Minute");
03 이전 실행일 및 현재 실행일 출력
Debug.Log($"이전 실행일 : {oldMonth}월 {oldDay}일 {oldHour}:{oldMinute}");
Debug.Log($"현재 실행일 : {now.Month}월 {now.Day}일 {now.Hour}:{now.Minute}");
04 현재 실행 정보 저장
PlayerPrefs.SetInt("Month", now.Month);
PlayerPrefs.SetInt("Day", now.Day);
PlayerPrefs.SetInt("Hour", now.Hour);
PlayerPrefs.SetInt("Minute", now.Minute);
결과 확인
'유니티 공부 > Unity' 카테고리의 다른 글
Unity - UnityEngine.EventSystems Interfaces 설명 (0) | 2023.09.26 |
---|---|
Unity - PointerEventData class (0) | 2023.09.26 |
Unity - 카메라로 씬에 있는 게임 오브젝트 조작하기 (0) | 2023.09.20 |
Unity - 마우스로 카메라 조작하기 (0) | 2023.09.20 |
Unity - 아이템 획득 효과(아이템이 위로 올라가면서 서서히 사라지게 하기) 넣는 법 (0) | 2023.09.19 |
댓글