뭔가의 기억조작인지(?)
당연히 플레이어프맆스에는 불리언 형식을 저장하는
PlayerPrefs.SetBool 같은 게 있을 줄 알았거든요
그런데 저번에 유니티에 쳐보니까 없더라고요
그래서 씁니다 기록용이니까...
사실 원리는 간단하게 형변환만 해주면 되는거라,
형변환을 알고계시고 잘 쓰시면 이 글은 도움이 안 됩니다.
0. 여기서 쓰이는 int와 bool 사이 명시적 형변환
int로 →
Sysetm.Convert.ToInt16()
Sysetm.Convert.ToInt32()
Sysetm.Convert.ToInt64()
bool로 →
Sysetm.Convert.ToBoolean()
꼭 int와 bool 사이의 관계가 아니더라도, 해당 형식으로 변환할때는 이걸 씁니다.
1. PlayerPrefs에 bool 형식 Set 하기
true = 1, false = 0의 원리와 형변환만 알고계시면 간단합니다.
1
PlayerPrefs.SetInt("Keyword", System.Convert.ToInt16(value));
cs
우선 PlayerPrefs는 Int 형식으로 합니다.
bool 형태의 변수를 바로 넣어줘도 작동하지 않으므로,
값을 넣는 곳에는 인트 형태로 형변환을 거친 불 변수가 들어갑니다.
Sysetm.Convert.ToInt16() 을 이용해서, bool 값을 int로 변환합니다.
ToInt32, ToInt62를 써도 크게 상관은 없지만 .. 어차피 0과 1을 저장하기 위한 것이니까요.
저장할 bool 변수 값이 참이면 1, 거짓이면 0으로 저장됩니다.
2. PlayerPrefs에 저장된 int를 bool 형식으로 Get 하기
저장을 했으니 꺼내기도 해야 완벽하겠죠! 기본은 1번과 완전히 동일합니다.
1
bool value = System.Convert.ToBoolean(PlayerPrefs.GetInt("Keyword"));
cs
마찬가지로 Playerprefs는 Int 형식을 이용합니다.
꺼내면서 형변환을 하는데, int 형식을 bool 형식으로 바꿔주는것입니다.
Sysetm.Convert.ToBoolean() 을 이용합니다.
저장된 값이 0이면 거짓, 1이면 참이 반환되며, 위의 코드상에선 value값에 true 혹은 false가 저장됩니다.
댓글