1. ESC키 눌렀을 때, 메뉴 나오게 하기.
1) ESC 눌렀을 때, 화면 어둡게 하기.
- 캔버스에 이미지 추가.. 검정색으로 하고 투명도(알파 값) 조정.
2) 버튼 만들기
- 검정색 만든 이미지!!! 내부에다가 이미지 생성.
- 이미지 내부에 버튼 추가로 생성!
3) 버튼 온클릭...
- 따로 함수를 작성할 필요 없이... 할 수 있음.
게임매니저에서 메뉴셋스크립트를 넣었고, 메뉴셋을 온클릭에 가져다 놓으면
다양한 함수 사용 가능.
여기서는 SetAcitve 함수 사용하면 바로 가능.
(혹시 버튼이 클릭 안 될 때는... eventsystem이 Hierachy에 있나 확인.
없으면 UI에서 추가해주면 됨.)
4) 퀘스트 내용 기재
5) 응용프로그램 종료 함수.
Application.Quit();
6) 게임 저장, 로드
게임 저장하면 저장해야할 데이터 변수들을 먼저 생각한다.
public void GameSave()
{
PlayerPrefs.SetFloat("PlayerX", Player.transform.position.x);
PlayerPrefs.SetFloat("PlayerY", Player.transform.position.y);
PlayerPrefs.SetInt("QuestID", questManager.questId);
PlayerPrefs.SetInt("QuestActionIndex", questManager.questActionIndex);
PlayerPrefs.Save();
ManuSet.SetActive(false);
}
public void GameLoad()
{
if (PlayerPrefs.HasKey("PlayerX")) // 만약 플레이어가 저장된 게 없다면...
return; // 게임 로드함수는 진행시키지 마!!!
float x = PlayerPrefs.GetFloat("PlayerX");
float y = PlayerPrefs.GetFloat("PlayerY");
int questId = PlayerPrefs.GetInt("QuestID");
int questActionIndex = PlayerPrefs.GetInt("QuestActionIndex");
Player.transform.position = new Vector3(x, y, 0);
questManager.questId = questId;
questManager.questActionIndex = questActionIndex;
}
public void GameExit()
{
Application.Quit(); // 응용프로그램 종료 함수.
}
-> key 오류
null 오류
여러 오류가 발생했는데.. 해결되지 않았다.
유니티를 재시작했더니 해결되었다.
-------------------------------------------------------------------
* UI 버튼... 모바일 구동.
- 모바일 방향키 등 버튼 만들어주고
- 모바일 해상도 적용. 요즘은 대체로 9:19 사용
- 카메라 조정.
1) 방향키
- Switch 구문 활용
- 버튼 OnClick은 버튼다운, 버튼업이 하나의 구성..
버튼 하나에 버튼 다운과 버튼 업을 같이 부여해야 하는데?? 그렇다면?
-> 따로 줄 수 있음.
Event Trigger 컴포넌트 추가.
여기서 PonterDown, PointreUp 을 추가하면 됨!
- 버튼 입력을 받을 변수 12개 생성 (값+Down+Up)x4
(버튼을 눌렀을 때, 그리고 떼엇을 때에만 true로 처리하고 나머지는 false로 처리하는 것.)
* 모바일 구동
- build settiong에서 안드로이드로 스위치 플랫폼 시키기.
- 플레이어 셋팅 -> Resolution and presentation -> Allowd orientations for auto rotation
이건 스마트폰을 가로로 돌렸을 때, 자동으로 세로, 가로 화면 전환되는 것을 의미.
LandScape를 체크해제하면 가로로 화면이 돌아가지 않음.
혹은 위에 default orientation에서 고정으로 해도됨.
- 구글플레이에 2019.08 부터 64비트 이상만 올릴 수 있음.
(scripting Backend 를 IL2CPP로 바꾸고 x86(32비트) 체크표시 해제
ARMv7, ARM64 는 꼭 체크표시)
* UI Canvas Scaler 셋팅
Canvas 의 Canvas Scaler에서 모드를 Scale With Screen Size로 바꾸시고
1200 x 1920 으로 맞추시면 UI가 해상도 크기에 따라 적절하게 늘어나거나 줄어듭니다.
-> 첫 작업에 해두어야 하는 듯..? 조정이 잘 되지 않는다. 핸드폰 빌드 시, UI가 매우 작아졌다.
★ 위 사진 처럼 하면, 타블렛 등 모바일 운영체제에 블루투스 키보드를 사용하는 등.. 코딩이 간편해진다.
'개발자가 되어보자..공부공부 > 개발 일지' 카테고리의 다른 글
C# 유니티 공부 15 - 2D 슈팅 게임 예제. (아이템 획득 및 사용 로직, ★배경 패럴릭스/스크롤링 기법, ★오브젝트 풀링) (0) | 2022.12.16 |
---|---|
C# 유니티 공부 14 - 2D 슈팅 게임 예제. (Prefabs 프리펩, Instantiate함수, Destroy 함수) (0) | 2022.12.15 |
C# 유니티 공부 12 - 키보드 타자 애니메이션(Typing), UI 대화창, 초상화 애니메이션 (0) | 2022.12.12 |
C# 유니티 공부 11 - 퀘스트 코딩, 재귀함수, 오버로딩, Dictionary 활용. (0) | 2022.12.11 |
C# 유니티 공부 10 - 플레이어 대화, NPC 초상화 (Dictionary, 구분자, Split 함수 사용) (0) | 2022.12.09 |
댓글