4. 인게임_히어로이동 처리
사실 NGUI로 캐릭터를 이동하는것이 그렇게 까다롭지 않아 보였다. 히어로자체를 NGUI스크립트인 버튼으로 만들어서 히어로를 클릭하면 저번에 만들었던 히어로 상태창을 업데이트 해주고 그리고 땅을 찍으면 해당하는 위치로 캐릭터를 움직이면 된다.
UGUI를할때는 마우스로 클릭 한 스크린좌표를 월드좌표로 변환해서 오브젝트를 클릭한 위치로 움직이도록 했다. 이번에도 이 방법으로 하려고 시도해봤다.
게임을 제작하기 전에 리소스를 찾아보다가 알맞는 2D리소스를 찾았는데 sprite가 아니었다.(2D가아님.2.5D?) 그래서 NGUI좌표에 움직이는게 난해 했다. 위치를 기본적인 NGUI로 만들어진 UI들은 위치가 표준화?되어 위치잡기가 쉽지만 이 캐릭터들은 위치가 저멀리 딴 세상?으로 위치해 있었다. 그래서 기본적인 sprite의 Depth가 쉽게 조절이 가능한 반면 캐릭터들은 조절하기 좀 까다로웠다.
그래서 문제점 => 캐릭터를 클릭하고 원하는 위치를 클릭하면 갑자기 맵뒤로 사라지기도 하고 예측하지 못한 위치로 이동하는 경우가 발생했다.
해결방법 : 캐릭터의 위치를 이리저리 움직여봤더니 z값을 음수가 되는 순간 카메라 제일 앞에 위치됐다.
일단 캐릭터가 화면에 사라지는것은 잡았고, 또 다른 문제점 => 문제는 캐릭터가 이동은 잘 되는데 클릭이 잘안된다. 이것 역시도 캐릭터가 sprite가 아니라 ngui의 boxCollider로 인식을 하지 못했다. 방법은 캐릭터의 sprite를 넣었다. 처음에는 비어있는 이미지를 넣고 알파값을 0으로 만들어서 안보이도록 하려했으나, 자식 오브젝트로 들어가 있는 캐릭터의 공격범위를 보여주는 circle의 sprite도 알파값이 0으로 변경된다.
해결방법 : 캐릭터의 sprite를 그림자로 만들었다.
사실 그림자가없을때 살짝 떠 있는지 느낌이어서 조금 아쉬웠는데 덕분에 이 부분도 해결됐다.
그리고
문제점 => 클릭한 위치로 이동하는데 캐릭터가 약간 중구난방에 서 있는 느낌이 들었다.
해결방법 : 클릭한 좌표가 아닌 맵타일의 위치 값을 받아와서 이동하도록 처리
캐릭터 대칭이동 : 마지막으로 캐릭터가 클릭한 좌표(움직 일 좌표)와 지금 서 있는 좌표랑 x값을 비교하여 좌우 대칭 이동을 처리했다.
- 현재까지 진행상황
'포트폴리오 와 제작게임 > NGUI 2D 랜덤디펜스' 카테고리의 다른 글
NGUI게임_프젝) 인게임 이펙트,스테이지_6 (0) | 2019.05.17 |
---|---|
NGUI게임_프젝) 캐릭터랜덤(히어로) 생성_5 (0) | 2019.05.15 |
NGUI게임_프젝) 인게임 캐릭터 상태_3 (0) | 2019.05.13 |
NGUI게임_프젝) 조합표구현_2 (0) | 2019.05.12 |
NGUI게임_프젝) 1_테이블작업_시작 (0) | 2019.05.11 |