[개발일지] 13. 안내창 구현
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 게임 화면에 안내 문구를 띄우는 기능을 만들었다. 점토를 구매할 때 돈이 부족하거나, 점토를 해금할 때 불가능하거나, 다 자라지 않은 점토를 판매하려고 하는 등의 상황에 안내 문구를 나타나게 해서 플레이어가 알 수 있도록 했다.    1. 게임 오브젝트이번엔 Info Panel 게임 오브젝트를 추가했다.더보기1. 하이어라키 창 모습  2. 인스펙터 창 모습  3. 애니메이터안내 문구 판넬에 애니메이션을 적용하기 위해서 애니메이터를 만들고, 애니메이션도 만들었다. 애니메이터의 상태는 다음 사진과 같다. Started 가 체크 되면 Start 애니메이션이 수행되고 끝나면 Exit 로 이동하도록 했다. Start 에는 직접 만든 애니메이션을 넣어놓았다.    2. 스크립트이번에 새로 ..
[개발일지] 12. 점토 구매 UI 창 수정 & 저장 로직 수정 & 옵션 판넬 제작
·
유니티 프로젝트/점토게임
0. 들어가기 전에점토 구매 UI 창과 저장 로직을 수정했다. 옵션 판넬에 돌아가기와 나가기 버튼을 만들었다. 돌아가기 버튼과 나가기 버튼에 현재 게임 데이터를 저장하는 메서드를 연결했다.    1. 게임 오브젝트이번에 추가한 게임 오브젝트는 OptionPanelParent, Save Button, Exit Button 이 있다. 1.1 OptionPanelParentOptionPanelParent 를 추가한 이유는 다음과 같다.더보기비활성화된 게임 오브젝트는 Find 메서드로 찾을 수 없기 때문에 활성화된 부모 오브젝트에 OptionPanel 을 넣었다. Find 로 OptionPanelParent 를 먼저 찾고 이어서 계속 Find 를 쓰면 최종적으로 Option Panel 을 찾을 수 있다.  1...
[개발일지] 11. UI 창 구축 & 점토 구매 UI 창 꾸미기 & 기능 구현
·
유니티 프로젝트/점토게임
0. 들어가기 전에기본 UI 창(점토 구매, 집 업그레이드, 옵션) 을 만들고 애니메이션을 적용했다. 세 개의 UI 창 중에서 이번엔 점토 구매 UI 창만 본격적으로 만들었다. 나머지는 다음에 만들 예정이다. 일단 구매창을 만들었기 때문에 구매 기능까지 적용해놨다.  1. 게임 오브젝트  2. 스크립트이번에 새로 만든 스크립트는 ClayPanel 이고 ButtonMove, Clay, GameManager 스크립트를 수정했다. 2.1 GameManager 스크립트GameManager 스크립트의 내용은 다음과 같다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class GameManager : MonoBe..
[개발일지] 10. 점토 판매 기능
·
유니티 프로젝트/점토게임
0. 들어가기 전에다 자란 점토를 판매 버튼 UI 에 드래그&드롭하면 팔리도록 하는 기능을 만들었다.    1. 게임 오브젝트점토 판매 기능을 구현할 때 사용하는 스크립트로는 Clay, ClaySellController, PoolManager 가 있다. 이를 컴포넌트로 갖는 게임 오브젝트들은 다음과 같다.더보기1. PoolManagerpoolManager 게임 오브젝트의 상태는 다음과 같다.  2. Sell ButtonSellButton 게임 오브젝트의 상태는 다음과 같다.  3. ClayClay 게임 오브젝트의 상태는 다음과 같다.    2. 스크립트이번에 새로 만든 스크립트는 ClaySellController 이고, Clay 와 PoolManager 스크립트를 수정했다. 2.1 ClaySellCont..
[개발일지] 9. 풀 매니저 & 점토 데이터 저장&불러오기
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번엔 게임 오브젝트로 생성된 점토를 관리하고, 이를 저장하는 기능을 만들었다. 게임을 종료하고 다시 돌아왔을 때 이전 상태 그대로 반영되어야 하기 때문에 저장&불러오기 기능이 필요하다.    1. 게임 오브젝트풀 매니저 오브젝트와 데이터 매니저 오브젝트를 새로 만들었다. 풀 매니저 매니저는 PoolManager 스크립트를, 데이터 매니저는 DataManager 스크립트를 컴포넌트로 갖는다.    2. 스크립트이번엔 PoolManager, DataManager, Datas, ClayDatas 스크립트를 새로 만들었다. 그리고 기존에 만들었던 Clay 스크립트에 기능을 추가했다. 2.1 PoolManager 스크립트using System;using System.Collections;usi..
[개발일지] 8. 점토 드래그 기능
·
유니티 프로젝트/점토게임
0. 들어가기 전에왼쪽 마우스로 점토를 꾹 누르면 점토 드래그 기능이 수행되도록 만들었다. 나중에 다 자란 점토를 가져다 팔기 위해서 꼭 필요한 기능이다. 주머니에 다 자란 점토를 드래그&드롭 하면 팔리도록 할 것이다.    1. 게임 오브젝트점토를 바닥에 내려놓는 장소가 불가능 구역이라면 드래그 하기 전 위치로 돌아갈 수 있도록 하려고 했다. 이를 위해서는 불가능 구역을 지정해야 하는데 나는 빈 게임 오브젝트를 두 개 만들어서 x, y 좌표를 가지고 불가능 구역을 판단했다. 즉, 왼쪽 상단의 노란색 게임 오브젝트의 x 축보다 작거나 y 축보다 크거나, 오른쪽 상단의 노란색 게임 오브젝트의 x 축보다 크거나 y 축보다 작거나를 기준으로 불가능 구역을 판단했다.    2. 스크립트이번에 새로 만든 스크립트..
[개발일지] 7. 점토 클릭 시 애정 얻기 & 점토 스프라이트 변경
·
유니티 프로젝트/점토게임
0. 들어가기 전에점토를 클릭할 때 레벨에 맞는 애정을 획득할 수 있도록 했다. 점토를 클릭하다 보면 레벨업을 하는데 최고 레벨에 도달하면 점토의 모습이 동물로 변하도록 했다. 레벨업을 할 때마다 점토의 크기가 커지도록 하기 위해서 각 레벨에 맞게 애니메이터를 할당해주었다. 점토가 다 자라서 동물이 되면 스프라이트 이미지 상 움직이는 방향에 맞게 이미지를 좌우반전시켰다.    1. 스크립트이번에 만든 스크립트는 ClayController 이고, ClayMove 스크립트에 변동사항이 생겼다. 1.1 ClayController 스크립트using System.Collections;using System.Collections.Generic;using UnityEngine;public class ClayContr..
[개발일지] 6. 재화, 점토 판매 UI
·
유니티 프로젝트/점토게임
0. 들어가기 전에재화, 점토 판매 UI 를 추가했다. 점토 판매 기능은 아직 UI 만 만들고 기능은 추가하지 않았다. 재화 UI 는 돈이나 애정을 얻었을 때, 그냥 text 로 바로 반영되는 것이 아니라 숫자가 서서히 올라가는 것처럼 보이도록 하는 효과를 주었다.    1. UI 제작일단 재화와 점토 판매 UI 를 제작했다. 1.1 점토 판매 UI다 자란 점토를 점토 판매 UI 로 드래그 한 후 내려 놓으면 팔리도록 하는 기능을 만들려고 한다. 이를 위해서 점토 판매 UI 를 만들어주었다. 주머니가 버튼으로 되어있는데, 나중에 Event Trigger 를 이용해서 마우스가 진입했는지 아닌지의 여부로 판매 여부를 판단할 것이다. 1.2 재화 UI수치를 확인할 수 있도록 하는 UI 를 제작했다. 수치에 변..
[개발일지] 5. 점토 구매, 집 업그레이드, 야생 UI 버튼 & 애니메이션
·
유니티 프로젝트/점토게임
0. 들어가기 전에이번에는 점토 구매, 집 업그레이드, 야생 UI 버튼을 만들고 애니메이션을 적용했다. 버튼을 눌렀을 때 구매창, 업그레이드 창이 뜨도록 하는 기능과 야생 씬으로 전환되는 기능은 다음에 구현할 것이다. 이번엔 그냥 버튼만 만들었다.    1. UI 버튼 제작본격적으로 캔버스에 이미지와 버튼을 추가한다. 1.1 UI 버튼 생성 왼쪽 하단을 보면 버튼 3개가 있는 모습을 볼 수 있다. 먼저 캔버스에 판넬 이미지를 하나 게임 오브젝트로 만들어 준 후, 그 판넬의 자식 오브젝트로 3개의 버튼을 만들어주었다. 세 개의 버튼은 왼쪽부터 차례로 점토 구매 버튼, 집 업그레이드 버튼, 야생 버튼이다. 1.2 UI 버튼 스프라이트 Swap Button 의 Transition 을 Sprite Swap 으로..
[개발 일지] 4. 해상도 설정
·
유니티 프로젝트/점토게임
0. 들어가기 전에사람들마다 가지고 있는 기기의 해상도가 다르기 때문에 이에 대응할 방법이 필요하다. 솔직히 나는 UI 랑 해상도 공부할 때가 제일 하기 싫은 것같다.. 어렵고 알아야 하는 것도 많고 귀찮고 재미없다.. 하지만 해야지..     1. 해상도 설정일단 게임 오브젝트로 캔버스를 하나 만든다. 이제 이 캔버스에 UI 를 추가하면 된다. 그 전에 먼저 해상도 설정을 해야 한다. 1.1 Canvas 설정일단 Canvas 게임 오브젝트의 Canvas 컴포넌트 속 Render Mode 를 Screen Space - Camera 로 설정해준다. 이렇게 하면 캔버스 크기가 Camera 사이즈에 맞춰서 조정된다. 그 다음 Canvas Scaler 의 UI Scale Mode 를 Scale With Scre..