본문 바로가기
Programming/Entry

엔트리(entry)로 비행기 슈팅게임 만들기 - 5. 미사일 만들기

by BACKK0M 2019. 4. 16.
반응형

1. 기획

2. 시작화면 및 설명화면 만들기

3. 운석 만들기

4. 비행기 만들기

5. 미사일 만들기

6. 점수 측정하기

7. 엔딩 화면 만들기

8. 상점 화면 만들기

9. 상점 구매기능 만들기

10. 공격 속도 업그레이드 적용하기

11. 이동 속도 업그레이드 적용하기

12. 총알 개수 증가 업그레이드 적용하기

13. 폭탄 적용하기

14. 난이도 적용하기1

15. 난이도 적용하기2

16. 난이도 적용하기3

17. 보스 만들기

18. 효과음 넣기

19. 오프닝 화면, 엔딩 크레딧 만들기

20. 공유하기

 

지난 포스팅에서는 키보드 방향키로 움직일 수 있는 비행기(로켓)를 만들어보았습니다. 이번 포스팅에서는 스페이스바를 눌렀을 때 로켓에서 미사일이 발사되도록 코딩을 해보겠습니다.

 

우선 미사일로 사용할 오브젝트를 골라보겠습니다. 저는 아래와 같이 물방울로 정하였습니다 ㅎㅎ

 

미사일 오브젝트 선택

오브젝트의 크기를 수정하고, 물방울을 180도 회전해 줍니다. 그리고 오브젝트 이름을 미사일로 수정해 줍니다.

 

미사일 오브젝트 수정

미사일이 완성되었습니다. 미사일의 X좌표와 Y좌표를 변경해줄 필요가 없습니다. 나중에 코딩으로 옮길 예정입니다!

 

그럼 지금부터 코딩을 해보도록 하겠습니다.

우선 게임 장면이 시작되면 미사일의 위치를 로켓의 위치로 잡아주고, 보이지 않게 해 줍니다.

 

미사일 동작 1

그 후 스페이스바가 눌렸을 경우 복제본을 생성해주고, 그 복제본이 생성되었을 때 보이게 설정해주고, 일정한 값만큼 Y좌표를 증가시켜 위로 올라가도록 해줍니다(원본이 움직이는 것이 아닙니다!). 그리고 미사일이 계속 나가는 것을 방지하기 위해 0.5초 기다리기를 해줍니다. 운석오브젝트와 마찬가지로 복제본 생성에 제한이 있으므로, 벽에 닿았을 때 복제본이 제거되도록 해줍니다.

 

미사일 동작 2

이제 미사일이 나가게 되었습니다! 이번엔 미사일이 운석오브젝트에 닿았을 때 두 오브젝트가 모두 제거되도록 해보겠습니다.

 

미사일-운석 충돌처리 1 [미사일 부분]
미사일-운석 충돌처리 2 [운석오브젝트 부분]

여기서 주의할 점은 0.1초 기다리기 블록이 들어가 있다는 점입니다. 0.1초 기다리기 블록을 넣지 않을 경우 미사일에 맞았음에도 오브젝트가 제거되지 않는 현상이 발생하게 됩니다.

 

마지막으로 미사일에 맞은 운석의 모양을 바꿔보도록 하겠습니다. 뻥! 터지는 모양으로 말이죠. 운석오브젝트의 모양에 폭탄 터지는 모양을 추가해줍니다. 모양 이름을 BOOM으로 바꿔줍니다.

 

터지는 모양 추가하기 1
터지는 모양 추가하기 2
터지는 모양 추가하기 3

그 후 운석오브젝트에서 충돌하는 부분에 모양으로 바꾸기 블록을 사용해 미사일에 닿았을 때 모양이 바뀌도록 해줍니다. 다른 운석 모양과 마찬가지로 크기를 50으로 정해주어야 합니다.

 

운석오브젝트 모양 바꾸기

이것으로 미사일 만들기 과정이 끝났습니다. 다음 포스팅에서는 점수를 기록하는 방법에 대해 알아보도록 하겠습니다.

감사합니다 :)

반응형