티스토리 뷰
게임 플레이하기 : https://rpgrpg.netlify.app/
키세팅을 본인이 직접 할 수 있도록 옵션의 기능을 추가하였다. 중복된 키를 방지하는 기능은 현재는 없다.
구현 방식은 이렇다.
우선, 어떤 키를 변경할 것인지를 판단하기 위해 public함수를 하나 만들었다. 키 변경 버튼을 클릭하게 되면, 해당 칸에 맞는 문자열 값이 함수로 전송되어 KEY에 저장된다. 예를 들면, DASH 오른쪽의 버튼을 클릭하면 KEY의 값은 DASH가 된다.
그 다음, 입력 창을 활성화한다.
키를 입력하라는 안내 창이 나오게 되고, 키를 하나 입력받으면 창이 꺼지며 해당 버튼의 키가 바뀌게 된다. 물론 UI에 표시되는 글자 역시 바뀐다.
키 변경을 위해서는 두 가지 문제가 있는데
첫번째로 키가 입력될 때 함수가 반응해야 하고,
두번째로 어떤 키를 입력받았는지 알 수 있어야 한다.
첫번째 문제는 update를 사용하여 해결하였으나 두 번째가 문제였다. 이제까지 사용해 왔던 Input함수는 getkey에 키코드를 입력해 해당 키가 입력되었는지 확인하거나, anykey를 사용해 어떤 키가 눌리던지 반응하는 원리로 키가 눌렸는지 여부만 판단할 뿐 어떤 키가 눌렸는지는 알려주지 못했다.
이를 해결하기 위해 유니티 카페에 질문을 하였고, 위의 사진과 유사한 코드를 답변으로 받아 사용하였다. Ongui는 과거의 GUI라고 하고 현재는 주로 사용하지는 않는듯 하다.
앞에서 KEY에 저장된 문자열을 가져와서 해당 키에 입력받은 키 값을 저장한다. 예를 들어 KEY값이 DASH이고, 입력한 키가 X이면 DASH에 X를 저장하는 방식이다.
키 변경을 완료하면 해당 버튼의 텍스트를 탐색해 텍스트 또한 알맞게 교체해 준다.
esc처럼 일부 키는 변경할 수 없도록 제한을 할까 했지만 그냥 두기로 했다.(주석처리한 부분)
다음은 Npc이다. 퀘스트 및 대화 기능을 수행하기 위해 Npc를 하나 세워 두었다.
Npc에 일정 거리 이상 접근하게 되면 활성화되고 대화가 가능하다. 대화는 Action버튼으로 가능하다.(기본값 Space)
말을 걸게 되면 이렇게 대화창이 표시되고 대화를 진행할 수 있다. 퀘스트 구현을 위해 미리 대화 기능을 완성해 두었고 퀘스트는 다음 시간에 개발할 예정이다.
마지막으로 기존에 교체하지 못한 차지공격 그래픽을 기본 공격 그래픽의 크기를 키워서 적용했다. 마땅한 그래픽이 없고 생각보다 어울리는듯 하다.
'게임개발 > Unity 게임개발' 카테고리의 다른 글
간단 패치노트(23/06/13 수정) (0) | 2023.03.29 |
---|---|
RPG 개발일지 23/03/27 (0) | 2023.03.27 |
RPG개발일지 23/03/13 (0) | 2023.03.13 |
RPG개발일지 23/03/10 (0) | 2023.03.10 |
RPG 개발일지 23/03/09 (0) | 2023.03.09 |