[유니티기초] 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 이미지로 보시겠습니다.
어때요???? 이렇게 정상적으로 작동이 됩니다^^
자~ 오늘은 그럼 여기까지구요, 다음시간에는
좀 더 활용해서, 운석에 에너지바를 적용하기, 운석 폭발 이펙트 등등을 진행해 보도록 할께요!