PlayerPrefs는 간단한 방식으로 어떤 수치를 로컬(프로그램을 실행 중인 현재 컴퓨터)에 저장하고 나중에 다시 불러오는 메서드를 제공하는 유니티에 내장된 클래스입니다.
PlayerPrefs는 키-값 단위로 데이터를 로컬에 저장합니다. 만약 float 값을 저장하고자 할 경우 PlayerPrefs.SetFloat() 메서드를 사용하며 다음과 같이 입력으로 키와 키에 대응하는 값을 받습니다.
PlayerPrefs.SetFloat(string key, float value);
예를 들어 키로 Gold, 값으로 실수형 100을 저장하고자 할 경우 PlayerPrefs.SetFloat("Gold", 100f)과 같이 저장할 수 있습니다.
또한 float gold = PlayerPrefs.GetFloat("Gold")와 같이 GetFloat을 이용하여 해당 키 값에 저장되어 있는 value 값을 가져올 수도 있습니다. 만일 Get 계열 메서드가 값을 가져올 때 주어진 키로 저장된 값이 존재하지 않으면 default value를 반환합니다. 이 때, GetInt(), GetFloat()는 0을 반환하며 GetString()은 빈 문자열 ""을 반환합니다.
이렇게 PlayerPrefs는 Get, Set 계열 메서드를 통해 float 외에도 int와 string을 저장하고 가져올 수 있으며 자료형만 Float에서 Int와 String으로 각각 바꾸면 됩니다.
PlayerPrefs를 사용해 저장한 키-값 데이터는 로컬에 파일로 저장되어 있으며 게임을 종료한 후에도 값이 유지됩니다. 따라서 나중에 값을 다시 불러올 수도 있습니다.
<레트로의 유니티 게임 프로그래밍 에센스 p345~348>
'Unity' 카테고리의 다른 글
| (Unity) 유니티에서의 벡터 활용 (0) | 2022.08.21 |
|---|---|
| (Unity) Text, TextMeshPro 사용하기 (0) | 2022.08.19 |
| (Unity) Time.deltaTime (0) | 2022.08.19 |
| (Unity) target 삼을 대상 찾아서 할당하기, FindObjectOfType() (0) | 2022.08.19 |
| (Unity) 게임 오브젝트 간의 충돌 - OnCollision, OnTrigger (0) | 2022.08.19 |