친절한효자손 취미생활

[유니티강좌] 2D비행슈팅게임 만들기 12 - 스코어 점수UI 스크립트 만들기



오늘을 기준으로 해서, 유니티 비행기게임 강좌는 일단락 마무리가 됩니다.

이제 나머지 부분들은 직접 검색으로 찾아서 배우시거나, 아니면

제가 더 추가적으로 알게 되는 것들이 있으면 포스팅을 할까 합니다.


여기까지 꾸준히 유니티 포스팅을 보셨다면

여러분들은 2D 비행기 슈팅 게임의 기본틀은 구성하실 수 있게 되신 겁니다^^



자! 이번시간에는, 이제 마지막! 운석이나 적 비행기가 터지면 점수가 올라가는 스크립트 구성과

UI 상으로 점수가 정상적으로 출력이 되도록 해보겠습니다.




우선 이 부분은 조금 생각을 해야 합니다.

지난시간에 했던 HP 처럼 할 수가 없기 때문이죠. (드래그가 안되었던 것 기억나시죠?)

그 이유는, 운석과 적 비행기가 오브젝트가 아닌, prefab으로 등록을 했기 때문이지요.


그럼, 이 둘의 공통적인 부분 스크립트는 과연 무엇일까요??

네 맞습니다^^ 바로 HP 스크립트였죠???


원리는 이렇습니다.

HP가 0이 되면, HP스크립트에서 점수 스크립트로 메세지를 보내는 원리죠.

그래서, 별도 점수를 관리해 주는 스크립트를 새로 만들어야 합니다.

그래서, 경로를 지정해 줌으로 인해서 찾아줘야 겠습니다.





우선 새로운 스크립트를 만들고, 스코어라고 이름을 지정했습니다.





새로만든 스코어 스크립트를, 지난시간에 만들어 둔 스코어 카운트에 넣습니다.

그러면, 스코어 카운트 스크립트에 스코어가 새로 생성이 되겠죠? (녹색상자부분)





스코어 스크립트를 위와 같이 수정을 합니다.

다소 복잡하지요;;;; 저도 뭐가뭔진 모르겠습니다;;; 하하~!


ScoreUP 이라는 함수를 새로 생성하고, val 이라는 변수를 만들고, 이 변수는 int 즉! 수치라는 개념입니다.

그리고 UI.Text 즉! 화면상에 출력되는 변수도 text라고 정했구요,

score 부분은 나중에 현재 점수 스코어와 + val 의 합침인데...

바로 이 val 부분이 나중에 HP가 보내는 메세지를 받게 될 부분입니다.





우선, 스코어 점수 스크립트가 잘 되는지 테스트를 해보겠습니다.

빨간 부분처럼, 업데이트 함수 안에 저렇게 입력을 해보세요.

그러면 아마 플레이를 하는 동시에, 점수가 1점씩 미친듯이 빠르게 올라갈 겁니다.




0


네^^ 정상적으로 작동 하는군요~!





아까 말씀드렸던 HP 스크립트를 수정해야 합니다.

새로운 퍼블릭을 만듭니다. 유니티 화면상에서 조절 가능하게 만들어 주는 것이구요,

if 문 안에 있는 새로운 스크립트를 위와 같이 구성해 줍니다.


저기 녹색 줄친부분 잘 보시면, 경로가 스코어 카운트와, 아까 점수 스크립트에서 만들었던 ScoreUP 함수와 연결되는 것을 확인하실 수 있죠?

SendMessage 명령으로 스코어업에 Score 를 보내게 되는 것이죠.


원래 숫자가 들어가야 되는데 왜 Score 를 썼는지는 아까 위에 설명했듯

퍼블릭을 줘서 유니티 선상에서 자유롭게 점수 수치를 지정해 주기 위해서 입니다^^





네. 바로 이렇게 말이죠^^

적 비행기를 선택해 보니, 새로운 항목이 생겼죠?

방금 HP스크립트를 수정해서 생긴 항목이죠.


음...우주선 터질때는....한....20점으로 해볼까요???? 그럼 20을 입력!





운석은 10점!

그럼 렛츠 플레이!




0


오오~! 잘 올라갑니다^^ 하하하하~!






최종적으로 UI를 좀 보기좋게 위치좀 잡아줬습니다.

아! 저번에도 말씀드렸듯, 비행기 위치를 꼭 저기 흰색 캔버스 안에 맞출 필요가 없습니다.

UI는 UI대로, 오브젝트들은 오브젝트대로 별도로 생각하시면 됩니다.




0


네^^ 저 뷰는 카메라의 위치를 조절해서 진행해 주시면 되겠죠?? ㅎㅎㅎ



이렇게 해서, 유니티로 비행기 슈팅게임 만드는 과정의 기초가 끝났습니다.

이제 팀을 꾸려서 자작게임을 한번 아무거나 만들어 봐야 합니다.


기왕 하는거, 한번 멋지게는...자신 없고, 재미있는 게임을 만들어 볼께요^^



공유하기

facebook twitter kakaoTalk kakaostory naver band