이 게임의 가장 독특한 시스템인 아날로그 디바이스(노브)를 구현하였습니다.
노브는 롱 오브젝트에서 살짝 변형을 주면 쉽게 만드는 객체입니다. 그렇기에 저는 이 노브 객체도 롱 오브젝트로 분류하려고 했습니다.
그러나 노브라는 것에서도 크게 파란색과 분홍색으로 나뉘고 또 직선과 직각으로 나뉩니다.
게다가 판정 방식도 롱 오브젝트와 달라 판정을 구현하기 힘들어 집니다.
이와 같은 이유로 노브 객체는 노브 객체 따로 추상 클래스로 분류하였습니다.
직선 노브 제작
직선 노브는 롱 오브젝트를 활용하여 제작하였기 때문에 큰 어려움은 없었습니다.
그리고 방향이 꺾일 때마다 그 뒤에 바로 새로운 노브 객체를 생성해주어 이어진 것처럼 보이게 해놨습니다.
노브 객체를 이용해서 곡선처럼 보이게 나열할 수도 있고 글자처럼 보이게 나열할 수도 있습니다.
직각 노브 제작
직각노브는 만들기 전에 이걸 롱 오브젝트와 쇼트 객체 중 어느 것에 가장 비슷한 성질을 가지고 있는지 고민을 했습니다.
이도저도 마땅한 답이 없어 노브 객체를 종속받는 새로운 클래스를 만들었습니다.
직각노브를 추가하면서 리소스를 줄이기 위해 아래 사진처럼 제작하여 직선은 직선부분만 늘이도록 하였습니다.