본문 바로가기
Programming/Entry

엔트리(entry)로 비행기 슈팅게임 만들기 - 3. 운석 만들기

by BACKK0M 2019. 4. 11.
반응형

1. 기획

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

3. 운석 만들기

4. 비행기 만들기

5. 미사일 만들기

6. 점수 측정하기

7. 엔딩 화면 만들기

8. 상점 화면 만들기

9. 상점 구매기능 만들기

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

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

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

13. 폭탄 적용하기

14. 난이도 적용하기1

15. 난이도 적용하기2

16. 난이도 적용하기3

17. 보스 만들기

18. 효과음 넣기

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

20. 공유하기

 

지난 포스팅에서는 시작 장면에서 설명 장면으로, 설명 장면에서 시작 장면으로 이동하는 프로그램을 만들었습니다.

이번 포스팅에서는 위에서 아래로 운석이 떨어져 비행기가 피해야 할 장애물을 만들어 보겠습니다.

 

우선 게임이라는 이름을 가진 장면을 만들어줍니다. 그 후 배경으로 사용할 오브젝트를 추가해주는데, 우주(3) 배경을 사용하겠습니다.

 

게임 장면: 우주(3) 배경 적용

시작 장면으로 이동하여 시작 글상자를 클릭했을 때 시작 장면으로 이동하도록 코딩을 해줍니다.

 

시작 글상자 코딩

다시 게임 장면으로 돌아오겠습니다. 해당 장면에서 장애물에 해당하는 오브젝트를 추가하도록 하겠습니다. 운석과 관련된 오브젝트를 하나 추가한 뒤 여러 개의 모양을 추가하여 모양을 바꾸어 가며 생성되도록 할 것입니다.

흠... 뭔가 말이 어려운 것 같군요. 우선 오브젝트부터 추가해봅니다.

 

환경 -> 검은 돌맹이 추가하기

오브젝트가 추가 후 오브젝트의 이름을 바꾸겠습니다. 음... 운석오브젝트가 좋겠네요. 운석오브젝트라 이름 지어 줍니다.

그 후 모양 탭으로 이동하여 모양 추가하기를 눌러줍니다.

 

모양 추가하기 클릭
여러 모양 선택하기

 

그 후 모양 탭에서 각 모양들의 이름을 바꿔줍니다. 이름은 obj1부터 obj10으로 하겠습니다(obj는 object의 약자입니다).

 

모양 이름 바꾸기

 

마지막으로 운석의 Y 좌표를 변경해줍니다. 처음에 보이면 위에서 떨어져야 하니까요! Y 좌표를 200으로 변경해줍니다(크기는 변경하지 않으셔도 됩니다!).

 

운석오브젝트 Y좌표 변경

 

이제 코딩을 해볼까요?

 

우선 운석오브젝트가 복제되고, 복제된 오브젝트가 아래로 내려오도록 하겠습니다. 이 동작은 장면이 시작되었을 때 동작하면 좋겠죠? 우선 1초마다 한 개씩 내려오도록 설정하겠습니다.

 

운석오브젝트 동작1

 

와우! 드디어 하나 씩 내려오기 시작하군요. 하지만 문제가 있습니다. 바로 일정 시간이 지나면 더 이상 운석오브젝트가 나오지 않는다는 것이죠. 이유는 너무 많은 복제본이 생성되어 있어서입니다. 그렇다면 해결하는 방법은? 복제본을 삭제하는 것입니다. 바로 아래 화면에 닿았을 때 말이죠! 아래와 같이 코드를 수정해줍니다.

 

운석오브젝트 동작2

 

이젠 계~~~속 나올 것입니다! 하지만 나오는 게 너무 단순하죠? 두 가지를 수정하겠습니다.

1. X 좌표 값을 랜덤으로 설정하여 여기저기에서 나오게 하기

2. 1초에 한 번씩 나오는게 아니라 랜덤 하게 나오게 하기

 

0.1~0.8초 사이에 하나 씩 생성되도록 설정하고, X 좌표 값을 -245~245 사이 임의의 값을 갖도록 설정해줍니다.

 

운석오브젝트 동작3

짜잔~~! 동작을 확인해보세요. 약간 다이나믹(?) 해졌네요. 마지막으로 처음에 여러 개 추가해놓은 모양들로 나오도록 만들겠습니다. 순서대로 나오게 한다면 매우 간단하게 할 수 있습니다. 하지만 역시 단조롭겠죠? 모양 또한 랜덤 하게 설정되도록 만들겠습니다. 또한 모양의 크기도 적당한 크기로 수정되어 나오도록 하겠습니다. 방법은 아래와 같습니다.

1. 함수 만들기

2. 변수 하나 만들기

3. 변수에 1부터 10 사이의 숫자가 나오도록 하기

4. 각 숫자에 맞는 모양으로 바꾸기

5. 모양의 크기 바꾸기

 

메인 코드가 복잡해 보일 수 있어 함수를 만들어 사용하겠습니다. 함수 이름은 운석오브젝트생성라 하겠습니다. 변수 이름은 obj선택이라 하겠습니다. 이 변수는 다른 곳에서 사용될 일이 없기 때문에 이 오브젝트에서 사용 항목을 선택하여 생성해줍니다. 그리고 화면에 보이지 않게 눈 아이콘을 눌러줍니다.

 

변수 화면에서 가리기
운석오브젝트생성 함수1
운석오브젝트생성 함수2
최종 코드

짜잔!! 코드도 깔끔해졌고 잘 동작합니다!

 

다음 포스팅에서는 비행기를 만들기, 키보드로 조종하기, 충돌 처리하기를 해보겠습니다.

감사합니다 :)

반응형