본문 바로가기
Programming/Entry

엔트리(entry)로 비행기 슈팅게임 만들기 - 9. 상점 구매기능 만들

by BACKK0M 2019. 6. 11.
반응형

1. 기획

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

3. 운석 만들기

4. 비행기 만들기

5. 미사일 만들기

6. 점수 측정하기

7. 엔딩 화면 만들기

8. 상점 화면 만들기

9. 상점 구매기능 만들기

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

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

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

13. 폭탄 적용하기

14. 난이도 적용하기1

15. 난이도 적용하기2

16. 난이도 적용하기3

17. 보스 만들기

18. 효과음 넣기

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

20. 공유하기

 

저번 포스팅에서는 상점 장면을 만들어 다양한 아이템을 구매할 수 있도록 아이템을 나열하였습니다. 이번 포스팅에서는 나열된 아이템들을 클릭하여 구매할 수 있도록 해보겠습니다.

 

게임을 통해 획득한 점수를 바탕으로 돈을 획득하도록 하였습니다. 해당 금액을 가지고 아이템을 구매하게 될텐데요. 로켓 업그레이드는 하면 할 수록 비싸지고, 나머지 아이템(폭탄)들은 고정된 가격으로 될 것입니다.

 

우선 폭탄에 대한 코딩을 진행해보도록 하겠습니다. 구매한 폭탄들을 저장하기 위해 리스트 하나를 만들어줍니다. 리스트 이름은 '아이템리스트'라 하겠습니다.

 

아이템리스트 생성

리스트를 생성한 후 아래와 같이 리스트뷰를 배치해줍니다.

 

리스트뷰 배치

리스트뷰 위에 글상자 하나를 추가해줍니다. 글상자에는 보유 폭탄이라 적어줍니다.

 

보유 폭탄 글상자 생성 및 배치

이제 아이템리스트를 보이지 않게 설정해줍니다.

아이템리스트 눈 표시 클릭
아이템리스트 안보임

아이템리스트의 기능은 폭탄들을 구매하였을 때 저장하는 기능을 합니다. 아이템리스트는 엔딩 장면에서만 보여야 합니다. 엔딩 장면에서 다른 장면으로 이동할 때 숨기고, 다른 장면에서 엔딩 장면으로 이동할 때 보이도록 코딩해줍니다.

 

단색 배경에 코딩을 진행해줍니다.

 

단색 배경에 코딩

다시하기 버튼에 코딩을 진행해줍니다.

 

다시하기 버튼 코딩

구매 버튼에 코딩을 진행해줍니다.

 

구매 버튼 코딩

이제 다른 장면으로 이동할 때 리스트가 보이지 않게 되었습니다. 또한 다른 장면에서 엔딩 장면으로 이동될 때 보이게 되었습니다. 

 

이제 폭탄을 구매하는 기능을 만들어보도록 하겠습니다. 각 폭탄의 지정된 가격이상 돈을 가지고 있다면 폭탄을 구매할 수 있고, 구매한 폭탄은 아이템리스트에 저장될 것입니다. 만약 돈이 부족하다면 사용자에게 돈이 부족하다는 내용을 말하기 블록을 통해 알려줄 것입니다.

 

상점 장면으로 이동하여 기본폭탄 오브젝트에 대해 코딩을 진행합니다.

 

기본폭탄 코딩

동전폭탄 및 선풍폭탄도 위와 유사하게 코딩해줍니다.

 

동전폭탄 코딩
선풍폭탄 코딩

각 폭탄들을 눌러 구매할 수 있게 되었습니다. 하지만 상점 장면에 있는 남은 금액 액수가 바로바로 변하지 않는 것을 확인 할 수 있는데요. 신호를 통해 바로 바뀌도록 해줍니다. 돈숫자 글상자를 코딩합니다.

 

돈숫자 글상자 코딩

이제 로켓의 업그레이드에 대해 코딩해보겠습니다. 위에서 말씀드린것처럼 업그레이드를 하면 할 수록 가격이 비싸지도록 할 것입니다. 바로 업그레이드수 x 가격 !!

 

연사속도부터 코딩해보도록 하겠습니다. 연사속도는 총 9단계까지 업그레이드가 가능하고, 초기 업그레이드 비용은 60원입니다. 연사속도업수라는 이름을 갖는 변수 하나를 생성해줍니다.

 

연사속도업수 변수 생성

그리고 화면에 보이지 않도록 설정해줍니다.

 

연사속도업수 안보이게 설정

연사속도 오브젝트에 대해 아래와 같이 코딩합니다.

 

연사속도 오브젝트 코딩

업그레이드 후 금액이 바뀌어야 하므로 연사속도 글상자에 대해 코딩해줍니다.

 

연사속도 글상자 코딩

마지막으로 시작 장면으로 돌아가 연사속도업수 변수의 값을 1로 정해줍니다. 우주(2) 오브젝트(배경)를 클릭하여 코딩해주면 됩니다.

 

연사속도업수 1로 정하기

이동속도에 대해 코딩해보도록 하겠습니다. 이동속도는 총 3단계까지 업그레이드 가능하고, 초기 업그레이드 비용은 30원입니다. 이동속도업수라는 이름을 갖는 변수를 생성해줍니다. 그 후 안보이도록 설정해줍니다.

 

이동속도업수 변수 생성
이동속도업수 안보이도록 설정

이동속도 오브젝트를 클릭하여 코딩을 진행합니다.

 

이동속도 코딩

연사속도 글상자와 마찬가지로 이동속도 글상자 또한 유사하게 코딩해줍니다.

 

이동속도 글상자 코딩

마지막으로 시작 장면으로 돌아가 이동속도업수 변수의 값을 1로 정해줍니다. 우주(2) 오브젝트(배경)를 클릭하여 코딩해주면 됩니다.

 

이동속도업수 1로 정하기

미사일수에 대해 코딩해보도록 하겠습니다. 미사일수는 총 4단계까지 업그레이드 가능하고, 초기 업그레이드 비용은 120원입니다. 미사일수업수라는 이름을 갖는 변수를 생성해줍니다. 그 후 안보이도록 설정해줍니다.

 

미사일수업수 변수 생성
미사일수업수 안보이도록 설정

미사일수 오브젝트를 클릭하여 코딩합니다.

 

미사일수 코딩

이동속도, 연사속도와 마찬가지로 미사일수 글상자에 유사하게 코딩해줍니다.

 

미사일수 글상자 코딩

마지막으로 시작 장면으로 돌아가 미사일수업수 변수의 값을 1로 정해줍니다. 우주(2) 오브젝트(배경)를 클릭하여 코딩해주면 됩니다.

 

미사일수업수 1로 정하기

상점에서 구매하는 기능이 다 만들어졌습니다. 다음 포스팅에서는 공격 속도(연사 속도) 업그레이드를 적용해보도록 하겠습니다.

감사합니다 :)

반응형