본문 바로가기
Programming/Entry

엔트리(entry)로 비행기 슈팅게임 만들기 - 11. 이동 속도 업그레이드 적용하기

by BACKK0M 2019. 9. 26.
반응형

이번 포스팅에서는 상점 구매 목록 중 이동속도 업그레이드를 구매하였을 때 업그레이드가 적용되도록 하고자 합니다.

 

이전 포스팅에서 상점 구매 기능을 만들었을때 이동속도 업그레이드는 이동속도업수 라는 변수에 정보를 저장하였습니다. 이를 이용하여 코딩을 진행하고자 합니다.

 

우선 이동속도업수 변수의 성질을 생각해봅시다. 이동속도업수 변수는 연사속도업수 변수와 동일하게 처음에 1 이라는 값을 가지고 시작합니다. 업그레이드를 진행할수록 마찬가지로 1씩 증가하는 변수이죠. 이동속도업수는 3까지 증가할 변수입니다.

 

이동속도가 결정되는 부분은 로켓 오브젝트 내에 있는 로켓움직이기 함수 내에서 정의되어 있습니다. 

로켓움직이기 함수
로켓이 움직이는 코드

위의 그림을 보시게 되면 움직일 경우 4씩 움직이는 것을 확인할 수 있습니다. 

 

그렇다면 어떻게 로켓을 빠르게 움직일 수 있을까요?

 

바로 x좌표를(y좌표를) ~ 만큼 바꾸기 부분에 이동속도업수를 사용한 수식이 들어가면 될 것 같습니다! 아래의 수식을 살펴봅니다.

4 + 이동속도업수

 

이동속도업수는 3이 최대입니다. 그렇다면 최대 이동속도는 7이 되겠죠? 아래의 표를 살펴봅시다.

이동속도업수 변수값 4 + 이동속도업수 결과
1 5
2 6
3 7

 

이동속도가 너무 빨라지게 되면 그것 또한 조종하기 어렵기 때문에 기존에 작성되어 있는 속도값(4)에 업그레이드 수 만큼 더해주는 것이 좋을 것 같습니다.

 

코딩을 진행하기 전에 주의할 점이 있습니다. 바로 이동하는 방향에 따라 양수, 음수의 값을 따로 사용해야 한다는 점이죠.

 

로 이동할 경우: 양수

아래로 이동할 경우: 음수

왼쪽으로 이동할 경우: 음수

오른쪽으로 이동할 경우: 양수

 

위와 같이 각 방향에 따라 양수, 음수 조건이 다릅니다. 그래서 음수일 경우에는 -1을 곱해주는 수식을 추가해줍니다.

(4 + 이동속도업수) * -1

이동속도업수 변수 적용하기

이렇게 이동 속도에 대한 업그레이드를 적용해보았습니다. 다음 포스팅에서는 총알 개수에 대한 업그레이드를 적용해보도록 하겠습니다.

 

감사합니다 :)

반응형