Unity 게임 개발

[Unity] PlayerPrefs를 사용해서 데이터 저장하고 불러오기

녹차맛고양이 개발강좌 및 IT리뷰 2017. 11. 16. 17:18

게임에서 능력치나 재화를 저장해서 게임을 끄더라도 다음에 이어서 할 수 있게 도와주는 PlayerPrefs를 배우겠습니다.


PlayerPrefs에는


SetInt

SetFloat

SetString

GetInt

GetFloat

GetString

Save

DeleteKey

DeleteAll

HasKey


이렇게 있습니다.


일단 간단히


------------------------------------------------------------------------------------------------------------------------------



Get은 키값에 넣어져있는 데이터를 불러옵니다.(그값을 스스로 가집니다.)

예) keydata =PlayerPrefs..GetInt("KEY",default); -default는 초기생성시에만 필요로 할겁니다.


Set은 키값에 데이터를 넣어줍니다.

예) PlayerPrefs.SetInt("KEY",data);


Save는 이게임의 PlayerPrefs의 값들을 저장합니다.

예) PlayerPrefs.Save();


DeleteKey는 지정된 키값과 데이터를 지웁니다.

예) PlayerPrefs.DeleteKey("KEY");


DeleteAll은 이게임의 PlayerPrefs의 모든 키값과 데이터를 지웁니다.

예) PlayerPrefs.DeleteAll();


HasKey는 키값에 값이 있는지 체크합니다.

예) keybool = PlayerPrefs.HasKey("KEY"); -값이 있다면 이것은 true 없다면 false의 값을 가집니다.



이정도로도 어느정도는 사용이 가능합니다.


제가 하나하나 예시를 보여드리겠습니다.







=====================작성중========================





일단 Hierachy를 위처럼 만들어줍니다.

INT1, FLOAT1, STRING1은 TEXT입니다.

각각 저장해서 다음에 실행할때 같은 값이나오게 할겁니다.


일단은 기본값을 저장하는 것을 하고

변경은 뒤에 버튼을 만들어서 할겁니다.




저장을 위한 값들은 static으로 해줍니다.

int형, float형, string형을 하나씩 만들어주세요.



먼저 Start쪽에서

기존에 저장된 값을 가져오거나 없다면 default값을 넣어주기 위해서 위와 같이 써줍니다.


a = PlayerPrefs.GetInt("A",7);

b = PlayerPrefs.GetInt("B",7.7);

c = PlayerPrefs.GetInt("C","칠");



앞에서 못했는데 mainUI의 TEXT를 지정해줄 TEXT를 생성해줍니다.


public Text ATXT;

public Text BTXT;

public Text CTXT;



띄어줄 것들을 각각의 텍스트에 띄어줍니다.