학원 프로젝트 관련해서 슈팅게임 개발 해보려 하는 데요
스마트폰으로 슈팅게임 해보니까 왼쪽누르면 우주선이 왼쪽으로 오고 아래를 누르면 아래로 이동하거나
우주선을 손가락으로 누르면서 방향을 제어하는 방식은
손가락이 화면을 가려서 컨트롤이 불편 하더라구요..
그래서 하단의
스마트폰으로 RPG할때처럼 방향키가 원으로 되있고 안쪽에 조그마한 원이 하나 더 있어서
우주선의 움직임을 제어 하는 방식 있잖아요?
그런데 생각보다 하기 힘드네요...
안드로이드 아직 부족한 것이 많은 데
어렵 다는 슈팅 게임으로 프로젝트를 정한 것이 잘못 되었나 후회가 됩니다..ㅠㅠ
엔진을 쓰면 간단하게 구현될 수도 있지만 학원 다니신다고 하니 직접 스스로 구현해보면서 로직을 짜는 능력을 키우는게 중요할 것 같아요^^ㅋ
처음부터 너무 복잡하게 생각하지 마시고, 각 방향을 누르면 그 방향으로 이동하게 하는 것부터 만드시고,
좀 더 자연스럽게 움직이는 것에 대해서는 하나씩 생각해보면서 좋게 만들어 가면 될꺼 같아요.
순전히 로직을 만들어내시는 능력이 아직 부족하신 것으로 보입니다.
방향키 제작은 특별한 기술이 요구되는게 아니기 때문입니다.
급하시다면 2축 방향키 예제를 접해보시는게 빠르겠지만, (찾아보면 아케이드 원형레버 방향키 예제도 있을 것 같네요)
좀 더 간단한 터치/멀티터치 부터 간단히 만들어보시는게 실력 향상에 도움이 되리라 봅니다.
레버보단 멀티터치 루틴을 얼마나 간단히 붙이느냐가 관건입니다.
처음부터 만드실 경우 힌트를 드려보자면,
원형레버의 중심점과 최대 범위(반지름)를 설정하시고,
터치된 위치가 최대 범위 내에 있을 경우,
중심점으로부터의 최단거리를 측정하셔서, 속력값(이동수치)으로 사용하시면 됩니다. (알맞은 계수도 곱하셔야겠죠)
정리해보니 간단한 방정식이 들어가는 수학일 뿐이네요^^;
멀티터치를 언급한 것은 캐릭터 이동만 할게 아니라,
미사일 발사 등의 액션도 필요하기 때문이겠죠? ㅎ_ㅎ
개인적으로 게임개발이 즐거운 이유는 이런 로직을 만드는 재미가 깨알같기 때문인데,
요즘은 예제들이 넘쳐나서 그 맛을 미처 맛보지 못하는 분들이 계신 것 같아 안타깝네요.
생산성과는 별개의 관점(문제)으로 쓴 말 입니다. (자기코드는 복사하기 마련이니^^;)
엔진 및 엔진의 예제를 겨냥하고 쓴 말은 아닌데, 오해하신 것 같네요.
제가 말했던 로직구현의 즐거움과 엔진사용을 통한 편의성/생산성은 별개이니까요^^
방향키(게임ui) 구현의 경우, 조금만 생각하면 구현 할 수 있는 것인데,
(Copy&Paste는 생각하는 재미를 줄이므로) 예제부터 찾는 습관은 경계하자는 뜻으로 적은 말입니다.
본문 중에는 예제 얘기도 없는데, 글쓰신 분께서 보시면 기분 나쁘실 수도 있겠네요 ㅠ_ㅠ 죄송합니다.
참고로 바야바님 엔진의 경우,
터치(입력) 부분이 독립 된 형태로 구분되어 있어서,
실제로 프로젝트를 운용함에 있어 구조적으로 우수하다고 생각합니다.
GL특성이라고 하신 것 같은데, 어쨌든 엔진에 포함되니까요^^
스프라이트가 두 세개 이상 들어가는 게임을 제작하신다면, 바야바님 엔진 사용을 적극 추천합니다.

계산 몇 번 하면 해결 되는 문제 입니다.
중점에서 가로 세로 이동값을 갖고 이동을 시켜주면 되는데
컨트롤 영역을 최고 값으로 잡고 가로 세로 이동량의 직선 거리를 1.0으로 만들어 준 후
실제 이동량에 가로 세로 이동량을 곱해주면 이동 처리가 됩니다.
구지 어렵다고 하면 컨트롤 영역을 둥글게 한다면 회전 공식 이용해서 둥글게 보이는 것인데
이것도 그냥 공식 대입 하면 됩니다.
막막한 마음에 남의 것을 이용 하는 것도 답이 될 수 있지만
이 정도 일로 자기계발을 중지하고 날로 먹는 길을 택하는 것은 좀 아쉬운 마음이 드네요
그냥 머리 박고 해결책을 찾다 찾다 안 되면 그때 남의 기술을 이용하는 것은 어떨까요
대충 선배들이 알려준 게임 엔진하나 약간의 기초 및 예제 보기
사용할 리소스 준비 며칠 - 다른 게임 스크린샷 편집
슈팅 게임 만드는데 일주일
고등학교 컴퓨터부에 들어간 100% 완전 일반인이 한달 정도 기초를 준비 후 있었던 일입니다.
프로그래밍의 프자도 모르던 일반인입니다.
단순히 기초 및 의지가 부족해 보입니다.
슈팅 게임을 만든다면 다른 슈팅 게임도 좀 살펴보시지 그러셨어요.
앱 버전 슈팅 게임중에 방향키를 쓰는 경우는 거의 없습니다.
거의 화면 드래그를 쓰고 총알 발사는 자동, 폭탄은 맞았을때 자동 발사 입니다.
음... 댓글이 과격한가요? ^^; 일단 달고 봅니다.
바야바 엔진을 쓰면 간단하게 구현됩니다.
http://www.bayabalib.com
댓글 달고나서 코드를 보니 아주 간단하게는 아닌거 같습니다 ㅎㅎ
정정합니다.