지난 포스팅에서 우주선 자체가 깜빡 거리는 것 까지 했다.

이번에는 우주선이 움직이는 것을 표현해 볼 것이다.

오른쪽으로 이동하면서 우주선이 빙글빙글 돌면서 날라간다. 날라가면서 크기도 작아진다. 그리고 화면 밖으로 벗어나게 되면 그 반대에서 다시 나타나서 계속 움직이는 것을 만들 것이다.


(update)


update 함수를 수정해주면 된다.

우주선을 회전하게 하는 것을 각도 설정, 크기 설정에서 크기만 넣어주면 된다. 어떻게 작아지는지 어떻게 이미지 생성 위치가 바뀌는지에 대한 것은 애니메이션 그리는 것에서 우리가 다 만들어 놓은 것이다. 우리는 단지 회전각도와 위치만 설정해주면 된다.



(상수)


위 코드에 대한 상수값들이다.
회전 상수는 180으로 정의 되있어서 초당 180도를 회전한다는 의미이다.
SCALE_RATE 상수는 0.2로 정의 되어있어 초당 100픽셀만큼 움직인다는 의미이다.

SHIP_SCALE 상수는 1.5로 정의되어있는데 우주선이 원래 크기에서 1.5배로 커진다는 의미이다.


(실행 화면)


실행 시 깜빡이는 우주선이 오른쪽으로 한없이 날라다닌다.

이제는 화살표 키 입력을 받아 우주선의 움직임을 통제 해 볼것이다.



(update)


위에서 한것과 같이 단순히 키 입력만 확인하여 그에 따라 위치만 바꾸어 주면된다.

(실행화면)


실행시 키 입력에 따라 우주선이 움직인다. ( 사진으로 해놔서 의미가 있는지 모르겠다... )

그런데 키를 때면 바로 우주선이 멈춘다.
키를 때도 그 방향으로 계속 움직이게 수정해 줄 것이다.
반대 키를 누르면 그 방향에대한 속도가 줄게 할 것이다. 그러기 위해서는 속도라는 값이 들어가야한다.

키 입력에 따라 속도 값을 수정해주고, 그 속도만큼 움직이게 하면 되는 것이다.



(update)


위 처럼 해두니 키를 때었을 때 계속 날라다니는 현상이 있었다.

키를 때었을 때 점차 속도가 줄어들게 하고 싶었다. 그래서 update 아래에 아래 코드를 추가했다.



(추가한 코드)


GRAVITY는 실제 중력값은 아니고 속도가 감소한다는 의미의 상수를 넣었다.



(추가 상수)



(실행 화면)


실행 해보니 우주선이 잘 움직였고, 키를 때었을 때 점차 속도가 감소하였다.

마지막으로
속도가 좀 느리다는 느낌이 있었다.

그래서 스페이스바를 누르면 부스트 모드로 기존 속도의 2배로 날라가게 만들었다.


(추가한 코드)


스페이스바 입력을 받게 하기 위해 상수로 추가했다.



(스페이스바 추가)


그리고 boost 여부에 따라 2배로 움직이게 만들었다.



(boost 모드)


실행시 아주 아주 잘 동작하였다.
키 입력을 받아 우주선이 움직이게 하는 것까지 마무리했다.!!

(* 참조 - 2D 게임 프로그래밍, 찰스 켈리)


+ Recent posts