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를 선물하세요.
-
#07년생#08년생#독학생 오르비의 주인이 될 기회 37 34
-
1. 삼성전자 2. SK하이닉스 3. 현대자동차 4. 삼성바이오로직스 5....
-
태윤태윤아… 1 0
작년에 ㄹㅇ 레전드였는데 오늘 바루스는 진짜 쉽지않네
-
미녀가 많은 대학 4 1
어디임ㅇㅇ? 그냥 실제로 어떻고를 떠나서 예쁜 여자가 많다 이렇게 알려진 대학...
-
프로필 옆에 숫자 뭥미? 6 0
33 27 이렇게 적혀져잇는거
-
안좋은 저녁입니다 7 0
ㅜㅜ
-
영어 이름 고트 대학 3 1
고트 고려대 서울대는 솔직히 서울시립대랑 구분안가자너
-
아니 오르비말고 아오이가 뭐야 6 0
씨이벌 ㅗㅗ
-
뀨뀨 13 0
뀨우
-
좋은 저녁입니다 8 3
아 근데 내일 월요일이네
-
지금 가장 먹고싶은 음식은? 2 0
-
성대생 분 쪽지 좀 제발 0 0
도움
-
메인글 뭐임 1 0
댓글 상태가 왜 이래
-
옯1~5 레어 가져가주세요 2 0
ㅅㅂ 전 하나 뺏겻어요
-
작년 원서비 1위 대학은? 2 0
1위 가천대 47억 2위 성균관 45억
-
노트북새로샀는데 1 0
뭐가 수급이 안 돼서 삼성도 6 출시 3월 말로 미뤘고 그램도 16인치는 2월 말에...
-
로피탈 왜 쓰지 말라는거? 10 1
물론 연습할땐 당연히 정석풀이로 해야되는건 맞음 근데 실제 수능에서 정석으론 도저히...
-
ㅋㅋㅋㅋㅋㅋ 레전드네 경기 0 0
3:0은 ㅅㅂㅋㅋㅋㅋ
-
우리학교 문이과 갈라치는 문화는 많이 사라졌나보네 1 0
나 때 문이과 갈라치기 ㅈㄴ 심했는데
-
Zzzㅋㅋㅋ
-
일코용 배경화면 ㅊㅊ해줘요 0 0
걍 기본쓸까
-
우리집고양이 1 0
너무기엽다ㅎ
-
대떡 미쳤네 3 1
DRX의 골든로드 지금 시작합니다
-
오리바베큐에 쌈무 싸먹기 3 1
저녁 맛있게 드세용
-
과탐 질문 3 0
잘 몰라서 그런데 (28수능 응시예정인 예비고2) 같은 원투과목은 응시 못하나요?...
-
아 썅
-
자몽다 8 0
밥 먹고 나니까 잠이 솔솔 ´⚰︎`˵
-
내 사랑 그대 내 곁에 있어줘 5 0
이 세상 하나뿐인 오직 그대만이
-
전추 안박음 끝임? 5 0
잇올가야대는데 사실 0칸 1칸은 기대할 필요가 있을까?
-
전추 새뱍에도 옴? 0 0
아침이나 새벽 ㅜ 4시 전후라고 적혀잇는데 계속 옆에서 꼭두새벽에도 온다고하네
-
배고파 2 1
ㅠㅠㅠㅠㅠㅠㅠ
-
이 모지리를 조금만 도와주소서
-
재수 3월부터vs4월부터 2 0
이왕이면 빨리 시작하는게 좋겠죠..
-
글바메 떡밥은 뭐야 4 0
애초에 글바메가 뭐의 약자야 글로벌바이오메디컬?
-
여친에 대한 심각한 고민이 있음 14 0
약 먹으면 사라지는데 어떡하지
-
어디서 봄??
-
이제ㅜ고삼인데 미적분 이번 방학에 처음 해서 시발점 2주?동안 다듣고나서 문제집이랑...
-
다변수함수 7 0
현우진 뉴런 듣다가 아예 이해가 잘 안됐던 부분인데 강기원쌤은 아예 문제를...
-
얼마 날리심
-
국어 상위권이신 분들은 내 생각을 꼼꼼히 점검하고 최적화하는 태도만으로 2~1등급...
-
바타르는 사실 연대훌리임 1 0
너넨 모두 속은거심
-
성대 글바메를 지탄해야 하는 이유 4 11
그것은 더러운 양이(洋夷)의 이름을 지니고 있기 때문이다. 서양 오랑캐가 침범하매...
-
작년 4월초에 국장으로 처음 옮겨왔을땐 코스피 2000대에서 상방을 최소 5000,...
-
22개정 내신 사탐 문제집 0 0
안녕하세요 예비고2 09년생입니다! 2학년 때 사탐을 현대사회와 윤리, 세계시민과...
-
솔직히 이대생들 부러움 2 3
상대적으로 낮은 입결로 들어가서 아름다운 캠퍼스 누리지 여대 억까 프레임 빼면 사회...
-
“北, ‘오징어게임’ 봤다고 공개처형”…탈북민 증언 나왔다 3 3
북한에서 넷플릭스 시리즈 ‘오징어 게임’ 등을 시청했다는 이유로 학생들이 처형되거나...
-
논술 학원 현강 0 0
논술 처음이면 학원이 낫나여 현강이 낫나요
-
한완수는 어떤 포지션인가요? 4 0
개념서라고 듣긴 했는데 현우진쌤 커리로 치면 시발점이나 뉴런같은 느낌인가요? 작년에...
-
현정훈 물2 라이브 2 0
있는거에요??
-
아니다잇네 5 1
진상고객될뻔
-
살 빼는법 궁금합니다 4 1
혹시 살 빼보신분 계신가요? 대략 10~15kg 빼고 싶은데 감도 안잡히네요,,...
게임 하시는거 보니까...
뱁새바보

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

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

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