Profile

대혐수의 뒷동산

대혐수

[유니티] 주먹구구 탐정게임 만들기. 2019-12-09일

  진작 이걸 했었어야 했는데. 그동안 안 되는 머리와 딸리는 기본기로 끙끙거리며 어찌어찌 기능 구현했던 기록을 남기지 않은 게 무척 후회스럽다.

 

  일단 오늘밤엔 작업을 해야하니 지금까지의 이야기는 다음에 날 잡고 정리해보도록 하자.

 

  이제부터 해야 할 일은 다음과 같다.

 

-이벤트 알림창 만들기

-심문 시스템 만들기

 

  이벤트 알림창은 비교적 쉬운 일이다. 인벤토리에 아이템(물론 탐정게임이니까 아이템이라 함은 증거물 되시겠다)이 추가되었거나 했을 때 그 이미지와 메시지를 출력해주는 것이다.

 

  준비물도 간단. 이미지 하나, 버튼 하나, 메시지 문구로 구성된 알람 창을 만든다.

  이 때, 알람창이 뜬 동안엔 다른 인터베이스 버튼이 눌려선 곤란하므로 화면을 덮는 충돌 박스를 넣어준다.

  편리한 방법이긴 한데 이런 식으로 구현하는 오브젝트가 늘어나면서 혹시 문제생기는 거 아닌지 불안=_=;;;

  체계적으로 배우지 않은 놈은 늘 이런 불안에 시달려야 한다.

 

  아무튼...만들어 놓은 뒤.

  이 업데이트 알림창을 제어할 "페이즈 매니저"에다가 필요 변수들을 퍼블릭으로 올려놓는다.

  만들어야 할 메서드는 알림창을 만드는 놈과 끄는 놈.

  끄는 놈은 그냥 gameObject.SetActive(false); 로 끄면 되는데...

  여는 녀석은 변수를 받게 할 생각이다.

  업데이트내용 안내문구, 업데이트 사안에 관한 이미지의 이름, 이 두 가지다.

  페이즈매니저 자체가 스토리진행용인 관계로 깔끔한 알고리즘이 아니라 "그때그때" 처리하는 거라서 그냥 이 정도로 처리해도 될 것 같다. 좀 더 프로그래머 같은 방법도 있겠지? 싶지만 다른 구현해야 할 것들도 빨리빨리 해야 하는데 고민하느라 시간 쓰고 싶지 않다 -ㅅ- 문자열로 uisprite와 uilabel 처리하는 건 간단하니 이하생략..

 

  ...이라고 생각했는데 간단한 게 아니었음이 드러났다.

 

  예를 들어 스토리진행이

 

  -대사 -> 업데이트 알람 -> 대사 ... 라는 식으로 진행될 때, 업데이트 알람의 확인 버튼을 노를 때 까지는 이벤트진행이 멈춰야만 한다. 근데 그걸 구현하지 못한 것이다!!!

 

  ...일단은 출력할 대사가 모두 나간 뒤 업데이트 알람이 뜨는 것으로 하자... 이걸로 될까? 생각보다 쉽지 않은 일이 된 거 같다. 일단, 일단은 업데이트 알림이 이벤트 중간에 끼어있지 않은 것으로 하자.

 

  그런데 업데이트 알람 창이 연속적으로 떠야 할 땐 어떻게 하지? 일단 어떻게 되나 실험부터 해보자.

 

  실험 결과는 총체적으로 엉망이다. 으음...원래 오늘 밤에 심문모드 구상과 설계를 하려고 했는데 시간상 어렵겠다. 아니,지금 발견된 문제로 또 며칠 가겠는데 ㅋㅋㅋㅋ

 

  뭐 전형적인 주먹구구 제작 풍경이구만 -3-

 

  현재 문재 : 대사 -> 알람창1 -> 알람창2 순서로 진행되길 바랐는데, 모든 메서드가 동시에 작동해버리는 것 같다. 일단 대사보다도 알람창2이 먼저 뜨고, 알람창1은 어떻게 되었는지 알 길이 없당=_=