PlayerPrefs에 관하여
게시글 주소: https://orbi.kr/00066149595
안녕하세요 뱁새입니다 (۶•<•)۶❗️
오늘은 게임을 끝내는 방법과 최고기록을 나타내는 방법을 구현하는 과정에 대해 정리해보도록 하겠습니다
그럼 가봅쉬다❗️
첫 번째, endPanel 제작.
우선 이 게임을 끝내기 위해서는 장애물이 balloon에 닿아야 하고
게임이 끝났을 경우 스코어가 기록되는 판이 등장해야 합니다
가장 먼저 판부터 만들어봅시다

endpanel 내부에 들어갈 개체들을 만들어주고 txt의 위치를 적절히 조절해준 후
retryButton에 button 요소를 부여해줍니다

그러면 위와 같이 Target Graphic 밑에 경고 문구가 뜨는데 이는 그래픽 타겟을 지정하지 않았을 경우
버튼을 눌러도 버튼 색의 변화가 없어 내가 버튼을 눌렀는지 안 눌렀는지 알기 힘드므로 지정하라는 의미를 지닙니다

그러니 컬러 틴트를 주기 위해 Image를 Target Graphic으로 설정해주도록 합시다

그런데 endPanel은 게임이 끝났을 경우에만 등장해야 하는 개체이므로 위의 체크박스를 해제해 비활성화를 시켜줍니다
두 번째, endPanel 나타나게 하기.
게임이 끝났을 때 endPanel이 나타나게 하려면 어떻게 하여야 하는지 살펴보겠습니다

먼저 gameManager를 싱글톤 처리해주어야 하는데요
* 싱글톤 : 어떤 오브젝트가 프로그램에 단 하나만 존재하고, 어느 곳에서도 쉽게 접근 가능한 것을 의미
싱글톤 처리는 public과 void Awake() { I = this;} 를 이용해 다른 cs에서 I인 gameManager를 호출할 수 있도록 하면 됩니다!

싱글톤 처리가 완료되었다면 gameManager.cs에 게임을 종료시키는 코드("balloon" 이라는 태그를 가진 게임 오브젝트가 충돌하면 게임을 끝내줘! 라는 의미를 담음)를 작성해주고

public GameObject endPanel;을 작성해 gameManager에게 endPanel을 사용할 것이라 알려준 후 저장해줍니다

이후 Unity로 돌아와 gameManager를 클릭하면 endPanel을 손에 쥐어달라 부르짖는 처량한 모습을 보여줍니다

옛다 먹어라.

gameManager :


다음으로 balloon 태그까지 붙여주면 게임 종료 코드가 정상적으로 작동됩니다
세 번째, 현재 스코어 보여주기.
게임이 종료되었을 때 현재 스코어가 나타나도록 하려면


gameManager에게 thisScoreTxt를 사용할 것이라 알려주고
게임이 종료되었을 때 thisScoreTxt가 소숫점 둘째자리까지 기록이 되도록 코드를 작성해주면 됩니다

이후 gameManager에게 thisScoreTxt를 쥐어주고 실행해보면

현 스코어가 잘 기록이 되고 있음을 볼 수 있습니다
네 번째, retry 함수 작성.
게임은 정상적으로 끝나는 것을 확인했는데 한 가지 문제가 있네요
그건 바로 retry 버튼이 동작하지 않는다는 것인데 이는 retry 함수를 작성해 해결하면 된답니다



retry 함수도 이전과 마찬가지로 gameManager.cs에서 코드를 작성하면 되는데
위 코드는 "retry 호출 시, MainScene으로 화면 전환을 하고 시간이 다시 흐르게 해라." 라고 해석할 수 있습니다

이후 다시 Unity로 돌아와 retryButton에 우리가 만들었던 retry 함수를 넣어주면

retry 버튼이 정상 동작하게 됩니다
다섯 번째, 스코어 간 시간차 해결하기.
바로 위의 움짤을 보면 endPanel 내 현 스코어와 MainScene 내 현 스코어에 차이가 있음을 확인할 수 있는데
이러한 현상이 발생하는 이유는 thisScore가 기록되는 도중에도 게임은 계속 업데이트가 되고 있기 때문입니다
이 현상을 해결하기 위해 이렇게 코드를 작성해주면(만약 게임이 진행 중이면 시간이 흐르도록 해주고 게임 오버가 되면 게임 진행을 멈춰달라는 의미를 지님) gameOver가 호출되었을 때 게임 진행 자체가 정지되므로 게임의 업데이트가 더 되지 않아 시간차가 발생하지 않습니다
여섯 번째, PlayerPrefs를 이용해 최고기록 나타내기.
게임이 끝났을 때 최고기록을 나타나게 하는 경우는 두 가지가 있습니다
첫 번째, 플레이 한 판이 첫 번째 판일 때
두 번째, 첫 번째 판보다 더 오래 버텼을 때
이것은

이렇게 구상을 해볼 수 있는데요
이것을 구현하려면 데이터를 저장하고 불러올 수 있도록 하여야 하는데 이는 PlayerPrefs를 이용하면 됩니다
* PlayerPrefs

그럼 위에서 구상한 것을 토대로 코드를 작성해봅시다! ![]()

맨 윗줄부터 해석해보면 만약 bestScore 값이 존재하지 않으면 / 현 스코어를 bestScore로 저장하고 /
bestScore 값이 이미 존재하고 현 스코어가 bestScore 값보다 크면 / 현 스코어를 bestScore로 저장해라
라는 의미가 됩니다!
이제 이를 저장하고 Unity에서 실행해주면

캬~ 이궈궈던~ (게임 못하는 거 아님 아무튼 아님)
응애.. 머리 터져.. (머리야 터져라 아님 ㅎ) ![]()
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
따따따 0 0
뜌땨
-
http://tiktok.com/2Wx4CdNm 현재 틱톡에 영상 박제되서 안지워지는중ㅋㅋ
-
사실좀힘듦 3 0
으으
-
인생은원래원하는대로흘러가지않아 1 0
근데그렇지않다면 너무재미가없을것같아...
-
진짜 잡니다 0 0
-
굿밤 내일도 화이팅 1 0
ㅇㅇ
-
잘자요 0 0
-
미적과탐임?
-
http://tiktok.com/2Wx4CdNm 현재 틱톡에 영상 박제되서 안지워지는중ㅋㅋ
-
얼버기 0 0
이번엔 기상!
-
도망가고싶다 ㄹㅇ 1 0
도망가자~~~~
-
내가 아는 실전개념 4 0
거리곱 차평면 인수미분법 차함수 내려갔다 올라오기 인수 나누기 나는야 이름바꾸기 선수 예~
-
http://tiktok.com/2Wx4CdNm 현재 틱톡에 영상 박제되서 안지워지는중ㅋㅋ
-
실전개념이 뭐임 3 0
진짜 모름
-
F1보기참힘드네요 1 0
미국은 왜.새벽에 스포츠를하나요...
-
깨우쳐야 한다봄 국어 - 물론 ebs나 언매 영어 - 문법이나 구문은 인강 필요함...
-
한밤중에 갑자기 머리가 아파서 1 1
열재봤는데 38.3이 찍히네...
-
종강안하나 1 0
할때됐는데
-
다들행복하세요 0 0
ㅎㅇㅌ..
-
나도 씹덕프사할까 4 0
흠
-
아직도 안자는사람이 있다고 2 0
어라라
-
친구랑 했던 사업구상 1 2
둘중 한명은 몇수를 해서라도 치대를 가고 나머지 한명은 중국에서 이상한 설탕음식...
-
어케 생각하시나요?
-
올해까지는 꿈 0 0
내년부터는 집착이 되어버리겠지
-
나레어삿어 1 0
내가가장좋아하는앨범이야다들꼭들어줘
-
또누구탈릅햇냐 2 0
왜또맞팔이줄엇어
-
뭘 해야 만족할까 1 1
만족을 한적없기에 발전했고 만족을 못했기에 불행해요
-
잘쟈 3 0
잘쟈르비
-
수능치고 1 0
부모님께 사탐런 선언 했었다가 수능날 기억 희미해지니까 다시 과탐 참전선언함
-
http://tiktok.com/2Wx4CdNm 현재 틱톡에 영상 박제되서 안지워지는중ㅋㅋ
-
서울대 그런데는 천재들이 가는가고 우리같은 일반인은 그낭 한기대가서 토익 토픽 오플...
-
더프 일요일에 치는거 0 0
비재원 안되어있으면 외부생은 못 치는건가요
-
대학가서할게얼마나많은데고작연애를함 ㅉ 10 0
연애는 언제든 할수잇는거고대학생활은 다신못하는건데
-
난 간헐적으로 조울증이 오는거같음 자야겠슨
-
지듣노맞추면2천덕 6 0
수이챤 노래임 ㅎㅎ
-
국어 커리 추천 10 0
고2때까지는 국어 모고보면 항상 백분위 98 99 이렇게 나 왔어서 안일한 마음에...
-
상식으로 한지 3등급 3 0
ㅅㅂ 속성정보가 뭔데 근데 제가 만약 08이었으면 무조건 한지 했을듯 상식으로도 잘 풀림 ㅎㅎ
-
왜 팔로워가 3명이나 줄었지 6 0
무슨일이야
-
잘까말까 5 0
고민많이되네
-
크아악
-
아 자야하는데 5 0
생활패턴왜이러냐아
-
찍기퀴즈 / 천덕 34 0
저는 워드마스터 수능 2000을 데이 ??까지 보고 유기했습니다 ??에 들어갈 숫자는 얼마일까료
-
아 진짜 ㅈㄴ 바쁘다 5 0
대학다니면서 알바하고 과외하고 약속에 뭐에 일정이랑 할게 끊임없이 왜이리 많냐.....
-
야식 치킨 먹? 말? 2 0
ㅈㄱㄴ
-
우우래우우래 1 0
여행 싫어 집에 갈래
-
현실에서는공부잘한다는소리를듣지만 17 3
오르비오면짜바리가되면개추...
-
어린이날까지는 쉬겠습니다 0 0
마음만은 어린이니까
-
십덕노래만부르다보니까 8 0
발라드<< 얘네들이 진짜 막 우와할만한 고음이 있는지 모르겠음 그나마 이수 - my...
-
현실과 오르비 중 0 0
어더가 더 믿을만한 지표인지 분간할 수가 없다..
-
치타는 웃고있다 0 0
내가웃는게웃는게아니야

게임 하시는거 보니까...
뱁새바보

흥 일부러 죽은 거거던요타닥.. 타다닥..
게임만들어주세요.
ㅇ ㅏ rpg 만들고십다
미래가 기대되는 청년입니다. 화이팅!!

헉 감사합니다 선생님!1.16초랑 1.4초는 좀 에반디...
메이플 스킬은 어떻게 쓰는걸까.. 피지컬이 흠
뭐.. 뭐뭣?!!?
당신 용서치 않아..

우왕...뱁새님 멋지신!!!
라이츄쟝도 충분히 하실 수 있는 일..!