1. 게임관리UI - 계속하기 - 만들기
(1). 계층구조 UI 오브젝트 생성하기
- blackBack이라는 Image UI를 만들어 화면을 덮고 검정색으로 바꾼후 투명도를 주고
- 그안에 Image와 Button UI로 아래처럼 만든다
(2). 게임매니져 스크립트 코드 작성
- public으로 GameObject blackBack을 주고 해당 오브젝트를 드래그 앤 드랍한 후
- esc를 눌렀을때 켜지고 꺼지는 기능을 구현
*gameObject.activeSelf = 현재 자신이 활성화상태면 true, 비활성화상태면 false를 리턴
(3). 계속하기를 눌렀을때 blackBack UI 끄기
- 계속하기 text가 포함된 Button UI Object를 클릭하고 속성 하단에 On Click()을 이용
- + 를 누르고 (none)object 칸에 blackBack Object를 드래그 앤 드랍
- No function을 클릭하면 기본적으로 내장되어 있는 함수들이 있는데
- 그중 GameObject의 SetActive(bool)을 선택하고 체크 해제된 상태(false)로 놔둔다
- 이제 계속하기 버튼을 클릭하면 blackBack UI Object가 비활성화 되면서 이하 UI들이 모두 꺼진다
(4). 퀘스트 내용 갱신하기
- QuestManigerScript에서 public Text questName; 변수를 만들고 위 예제그림의 계층구조에서 QeustData 아래에 있는 Text를 드래그 앤 드랍 한다
- 로직에 맞게 퀘스트내용을 삽입하도록 코드 작성
2. 게임관리UI - 종료하기 - 만들기
*Application.Quit()로 게임을 종료
(1) . 코드구현
- 종료하기 button 오브젝트 속성의 On Click()에 GameManiger 오브젝트를 드래그 앤 드랍하고
- GameManigerScript에 public ExitGame 함수를 생성
- *Application.Quit()로 게임을 종료하도록 구현
- On Click()의 Function을 위에서 구현한 ExitGame 함수선택
(2). 게임 빌드하여 종료하기 실험
* 해당 종료하기 기능은 유니티엔진에서는 작용하지 않고 실제 게임을 빌드 했을때 작용한다
- File -> Build Settings
- Add Open Scenes를 눌러 우리가 만든 게임의 Secene을 Scenes In Build 창에 올리고
- Platform 을 PC, Mac & Linux Standalone로 두고 우측 Target Plarform등을 자신의 운영체제에 맞춘후
- Bulid를 눌러 빌드를 진행한다
- 빌드 결과로 .exe 프로그램이 생기고 실행하면 게임이 실행되며 종료하기 버튼을 눌르면 프로그램이 꺼진다
3. 게임관리UI - 저장하기 - 만들기
*PlayerPrefs : 간단한 데이터 저장을 지원하는 클래스
(1) - File - > Build Settings창에서 왼쪽 하단의 Player Settings를 누른다
- Project Settings의 Player 창이 뜨면 Company Name과 Product Name을 써준다
-이것은 이 후 게임을 저장할때 Company Name과 Product Name으로 레지스트리에 저장이 된다
(2) . 저장하기 및 불러오기 GameManigerScript 코드 작성
- GameSave함수와 GameLoad함수 코드를 구현하고
- GameSave함수는 UI의 저장하기 버튼을 눌렀을때 작동하도록 On Click()으로 작동로직을 짜고
- GameLoad함수는 게임프로그램이 시작 될때 바로 실행되도록 GameManigerScript의 void Start()함수안의 넣어
작동로직을 짠다
*PlayerPrefs.Set자료형("레지스트리에 저장할 이름", 저장할데이터) --> 데이터를 저장함
PlayerPrefs.Get자료형("레지스트리에 저장된 이름") --> 저장된 데이터가 리턴됨
PlayerPrefs.HasKey("레지스트리에 저장된 이름") --> 해당 이름의 자료가 저장되어 있는지 확인하여 bool값 리턴
(3). 저장 및 로드 확인
- 이제 다시 빌드로 게임.exe를 만들고 실행 후 저장하기를 누르면
레지스트리 아래의 폴더경로 위치에 데이터가 저장이된다
- 게임을 종료하고 다시 시작하면 저장된 위치와 저장된 퀘스트id, Index값이 그대로 저장되어 있다!
- 초기화하려면 레지스트리의 파일을 지운다!
*동전이 활성화 된상태에서 저장하고 다시 실행하면 동전이 사라지는 버그 발생
-아래 드래그한 코드 추가로 버그 해결
'Unity > Unity2D_TopDown' 카테고리의 다른 글
Unity2D-Top_Down - 모바일빌드하기 (0) | 2021.01.03 |
---|---|
Unity2D-Top_Down - 모바일Ui(방향키) (0) | 2021.01.03 |
Unity2D_TopDown - 대화애니메이션 (2) | 2020.12.26 |
Unity2D_TopDown - 초상화애니메이션 (0) | 2020.12.26 |
Unity2D_TopDown - 대화창애니메이션 (0) | 2020.12.24 |