본문 바로가기
게임 프로그래밍/게임개발 중급

게임개발 중급(71) - Monster Killer(33)

by jyppro 2023. 7. 6.

Monster Killer(33)

이전에는 설정 창을 만들고 볼륨을 조절하는 기능, 열고 닫는 기능을 만들었습니다. 이제는 간단한 데이터 저장 및 불러오기 등 다양한 데이터 작업을 위하여 PlayerPrefs에 대해 알아보도록 하겠습니다.

 

PlayerPrefs

PlayerPrefs는 Unity에서 제공하는 간단한 데이터 저장 및 로드를 위한 기능입니다. 사실 이전시간에 이것을 약간 사용하였는데, 주로 게임 설정, 사용자 기록, 게임 진행 상태 등을 저장하고 다시 불러올 때 사용됩니다. PlayerPrefs는 키-값 쌍으로 데이터를 저장하며, 데이터는 기본 데이터 유형인 int, float, string, bool을 지원합니다. PlayerPrefs는 다음과 같은 방법으로 사용됩니다

 

1. 데이터 저장

PlayerPrefs.SetInt("Key", value); // int 값 저장

저장하려는 데이터 유형(int, float, string, bool)에 따라 적절한 PlayerPrefs 함수를 호출하고, "Key"에 고유한 식별자를 지정하여 데이터를 저장합니다.

 

2. 데이터 불러오기

int value = PlayerPrefs.GetInt("Key", defaultValue); // int 값 불러오기

저장된 데이터를 불러올 때는 PlayerPrefs 함수를 호출하고, "Key"에 해당하는 식별자를 지정합니다. defaultValue는 해당 키에 저장된 값이 없을 경우 사용될 기본값을 나타냅니다.

 

3. 데이터 삭제하기

PlayerPrefs.DeleteKey("Key"); // 특정 키의 데이터 삭제
PlayerPrefs.DeleteAll(); // 모든 데이터 삭제

 

특정 키에 저장된 데이터를 삭제하려면 PlayerPrefs.DeleteKey 함수를 호출하고, 모든 데이터를 삭제하려면 PlayerPrefs.DeleteAll 함수를 호출합니다.

 

주의할 점

1. PlayerPrefs는 간단한 데이터 저장에 사용되며, 보안적인 요구사항을 충족하지 않습니다. 중요한 정보는 안전한 방법으로 저장해야 합니다.

2. PlayerPrefs를 사용하면 데이터가 사용자의 디바이스에 저장되므로, 데이터를 수정하거나 조작하는 것은 쉽습니다. 따라서 민감한 데이터는 암호화 등의 추가 보안 절차를 적용해야 합니다.

3. PlayerPrefs는 단일 플레이어 게임에 적합합니다. 멀티플레이어 게임이나 온라인 게임에서는 다른 데이터 저장 및 관리 방법이 필요할 수 있습니다.

4. PlayerPrefs를 사용하여 간단한 데이터를 저장하고 로드할 수 있습니다. 그러나 복잡한 데이터 구조나 대량의 데이터를 다루는 경우에는 다른 데이터 관리 방법을 고려해야 합니다.

 

이 외에도 데이터를 저장하여 사용하는 방법은 Json을 사용한 로컬저장 그리고 데이터베이스를 사용하는 등 많은 방법이 있지만, 간단하게 만드는 현재 상황에서는 PlayerPrefs를 사용하여 만들 계획입니다. 보안적으로 보면 데이터베이스를 사용하는 것이 가장 안전한 방법이라고 할 수 있습니다.

 

<NEXT>

오늘은 앞으로 게임씬을 불러올 때에 사용하게 될 데이터들을 저장하는 방법 중 하나인 PlayerPrefs에 대해 알아보았습니다. 다음 시간에는 이 PlayerPrefs를 사용하여 데이터들을 활용해보도록 하겠습니다. 감사합니다.