본문 바로가기
개발자가 되어보자..공부공부/개발 일지

C# 유니티 공부 23 - 3D 쿼터뷰 예제 최종(PlayerPrefs 함수, 플레이어 사망, UI 상점 물건 구매, 스테이지 전환, 사운드)

by 묭묭이와소담이 2022. 12. 25.
반응형

* Playerprefs 함수.

- 데이터를 저장하고 불러오는 함수.

이번 예제에서는 GetInt, HasKey 사용.

 

DeleteAll() : 모든 데이터를 삭제한다.  이 함수를 사용할 경우 경고 메시지가 출력된다.

DeleteKey(String Key) : Key와 대응하는 값을 삭제한다.

HasKey(String Key) : Key가 존재하는지 확인한다.

Save() : 수정된 모든 preferences를 파일에 저장한다.

PlayerPrefs은 int, float, string 타입의 데이터를 저장하도록 Set 함수를 제공한다.

SetInt(string Key, int value) :  Key 값으로 int 형 데이터를 저장한다. 

SetFloat(string Key, float value) : Key 값으로 float 형 데이터를 저장한다.

SetString(string Key, string value) : Key 값으로 string 형 데이터를 저장한다.

PlayerPrefs은 int, float, string 타입의 저장된 데이터를 불러오도록 Get 함수를 제공한다.

GetInt(string Key) : Key 값으로 저장된  int 형 데이터를 불러온다. 

GetFloat(string Key) : Key 값으로 저장된 float 형 데이터를 불러온다.

GetString(string Key) : Key 값으로 저장된 string 형 데이터를 불러온다.

 

 

* 플레이어 사망

- 사망 시, Playerpref.로 스코어를 저장.

- 게임 매니저의 StageOver함수 실행.

 


 

* UI 생성, 상점 물건 구매.

- 상점 UI 생성.

- 돈이 부족할 때의 대사는 코루틴으로 작성.

- 상점에서 판매하는 상품의 경우 GameObject[] 배열로 작성.

- Item Price도 int[] 배열로 작성.

- Item이 생성되는 위치도 Transform[]배열로 작성.

- 유니티 인스펙터창에서 알맞게 데이터를 넣어주면 됨.

 

 

- 자동으로 쉼표를 넣어주는 명령어.

string.Formatt({0:n0}, "string")

string.Format({0:00},"string") 

 

 

- 보스 체력바 감소.

현재체력/최대체력을 벡터 값에 넣어주면 됨.


 

 

* 스테이지 전환.

- SceneManager.LoadScene() 사용.

- 몬스터가 모두 죽어, 몬스터의 숫자가 0이하가 되면 스테이지가 끝나도록 설정. (코루틴으로 시간 설정.)

(플레이어 공격 시, 몬스터에게 다단히트가 들어가 몬스터가 여러번 죽은 것으로 판정되어 몬스터 숫자 음수가 됨.

isDead, isDamage bool 값 변수로 해결.)

 

 

- 5번째 스테이지마다 보스가 나오도록 설정.

- 코루틴 내 While문에는 꼭 yield return이 필요하다. (무한한 연산으로 컴퓨터 멈춤.)


 

* 사운드

- 사운드매니저 스크립트를 생성하여, 사운드 함수를 생성하여 적용.

- 사운드가 필요한 곳에 SoundManager 스크립트를 가져와서 함수 실행.

 

 

 

 


* 골드메탈님 유투브 보고 따라한 예제입니다.

 

 

 

 

 

 

 

반응형

댓글