아날로그 디바이스 구현

직각 아날로그 디바이스
직각 아날로그 디바이스
직선 아날로그 디바이스
직선 아날로그 디바이스
이 게임의 가장 독특한 시스템인 아날로그 디바이스(노브)를 구현하였습니다.
노브는 롱 오브젝트에서 살짝 변형을 주면 쉽게 만드는 객체입니다. 그렇기에 저는 이 노브 객체도 롱 오브젝트로 분류하려고 했습니다.
그러나 노브라는 것에서도 크게 파란색과 분홍색으로 나뉘고 또 직선과 직각으로 나뉩니다. 게다가 판정 방식도 롱 오브젝트와 달라 판정을 구현하기 힘들어 집니다.
이와 같은 이유로 노브 객체는 노브 객체 따로 추상 클래스로 분류하였습니다.
 
직선 노브를 구현한 사진
직선 노브를 구현한 사진

직선 노브 제작

직선 노브는 롱 오브젝트를 활용하여 제작하였기 때문에 큰 어려움은 없었습니다.
그리고 방향이 꺾일 때마다 그 뒤에 바로 새로운 노브 객체를 생성해주어 이어진 것처럼 보이게 해놨습니다.
노브 객체를 이용해서 곡선처럼 보이게 나열할 수도 있고 글자처럼 보이게 나열할 수도 있습니다.
 
직각 노브와 직선 노브가 구현된 사진
직각 노브와 직선 노브가 구현된 사진

직각 노브 제작

직각노브는 만들기 전에 이걸 롱 오브젝트와 쇼트 객체 중 어느 것에 가장 비슷한 성질을 가지고 있는지 고민을 했습니다.
이도저도 마땅한 답이 없어 노브 객체를 종속받는 새로운 클래스를 만들었습니다.
직각노브를 추가하면서 리소스를 줄이기 위해 아래 사진처럼 제작하여 직선은 직선부분만 늘이도록 하였습니다.
 
리소스를 줄여 할당하는 메모리를 줄임
리소스를 줄여 할당하는 메모리를 줄임