친절한효자손 취미생활

[유니티기초] 2D 비행기 슈팅게임 만들기 06 - 운석HP가 0이 되면 폭발시키기


본 내용은,

Unity 3D 비행시뮬게임 만들기,

OnCollisionEnter, gameObject.SendMessage.

스마트폰 게임 만들기 - HP 데미지 효과,

와 관련이 있습니다.




이번 시간에는, 운석의 체력을 할당하여,

미사일로 운석의 HP를 낮춰서, 0이 되면 폭발하게 하는 스크립트를 구성하겠습니다.


여기서는, 아직 폭발하는 모습은 연출되지 않으며,

스크립트를 짜고나서, 정상적으로 출력하게 하는 것 까지! 만~ 진행 합니다.





우선, 새로운 자바스크립트를 만들어 주세요.

HP라고 이름을 정해줬습니다.





이 새로운 HP스크립트를, 운석에 할당해 줍니다.

왜냐면, 운석이 폭발해야 되니까요^^ 체력시스템을 줘야죠.





새로운 HP 스크립트에 다음처럼 유니티 화면에서 보여지도록

퍼블릭 메소드를 넣어주고, HP라는 변수 이름에 수치를 100으로 만들어 줍니다.





그러면, 방금 넣은 운석 항목에 이렇게 나타납니다.





방금 만들어 준 수치 100을 유니티에서 정확하게 "이것은 수치니라" 라는 인식이 되게끔

int 명령어를 넣어 주세요.


그리고 맨 밑에 펑션 함수를 만들고, 함수 이름은 Damage 라고 만들어 줍니다.


함수안에 D 는 나중에 미사일에 넣어줄 수치를 말하는데,

100에서 어떤 값을 계속 부딫힐때마다 빼 줘야 하니까요. 그 값의 변수 이름을 D 로 정한 것입니다.


저 빨간박스 안의 내용은, 부딫히며 100에서 조금씩 깎여 나가고,

그 수치가 0이 되거나 0보다 작아질때,

운석폴발 이라고 출력하라~ 라는 뜻이에요.





아까, D 부분의 수치는 여기! collisionMissile.js 에서 추가적으로 수정을 해 주는데요,

이렇게 작성하시면 되고, 작동 명령어는


gameObject.SendMessage 라고 합니다.

바로 뒤따라 오는 괄호는, 처음은 변수이름, 그 다음은 수치 입니다.


즉! 여기서 Dagame는, 아까 처음 만들어 놓은 HP 스크립트안에 들어가게되고,

그 수치는 20 이라고 정해 준 것입니다.


미사일의 위력은 20이라는 뜻이고, 운석이 100 이니까, 5방 이상 맞으면 운석이 꽝~!

하고 폭발하게 되는 것이죠. 이해되시지요잉???





이렇게 운석 폭발이라고 콘솔창에 내용이 출력되게 됩니다.

잠시 그럼 GIF 이미지로 보시겠습니다.



0


어때요???? 이렇게 정상적으로 작동이 됩니다^^



자~ 오늘은 그럼 여기까지구요, 다음시간에는

좀 더 활용해서, 운석에 에너지바를 적용하기, 운석 폭발 이펙트 등등을 진행해 보도록 할께요!



공유하기

facebook twitter kakaoTalk kakaostory naver band