[유니티기초] 2D 비행기게임 만들기 10 - 비행체충돌 자바스크립트 구성하기
이번 시간에는 비행기 오브젝트에 충돌체 범위를 적용을 시키고,
비행기 HP를 생성하고 HP가 바닥나면 폭발하게 하는 스크립트를 구성하겠습니다.
오랫만에 유니티수업을 진행하게 되었습니다^^;
학원 빔프로젝트가 고장나는 바람에;;; 그동안 수업이 못나갔지요~!
자, 주인공 비행기에 충돌체를 적용하겠습니다.
우선 이렇게 들어가서 Rigidbody를 부여합니다.
이제, 할당받았고, 어떤형태로 충돌체를 줄지를 정해줍니다.
박스냐~ 구냐~ 캡슐이냐~ 등등~
저는 박스로 하겠습니다.
이렇게 구성이 되지요????
여기서 요전에 했던 중력값은 생략해야 비행체가 계속 제자리에 있겠죠? ㅎㅎ
이제 충돌해 봅시다.
음...문제가 하나 있죠?
미사일발사 위치가 비행기 충돌범위내라서...계속 불발입니다.
발사 위치를 조금 수정해 줍니다.
미사일발사 위치를 앞부분으로 조금 위치변경해주면 되겠지요??
아주 자알 발사되는군요^^
근데 주인공인 제 비행기가 뒤로 밀리는군요!!!
음...이건 어떻게 해결해야 좋을까요????
아까 중력값 제거 바로 밑에 Kinematic 이라는 항목이 있습니다.
이 부분을 활성화시켜 주세요.
이제 튕기지 않지요^^ 적들이 밀려나면 밀려났지...ㅎㅎㅎ
뭔가 현실적이지 않으므로, 새로운 스크립트를 하나 더 만들꺼에요.
이 자바스크립트의 역할은, 내 비행선과 적 운석이나 적 비행기가 부딫히면,
제 비행선이 데미지를 입게 되고, 운석과 적 비행기는 터지는 스크립트를 구성할 목적입니다.
collisionPlayer 라고 스크립트 이름을 지어주고, 비행체에 드래그해서 넣으면, 저렇게 녹색박스처럼 새로운 스크립트항목이 생성되죠.
이 새로운 스크립트에 이렇게 스크립트를 구성하였습니다.
HP 스크립트에서 몇개 코딩된 것을 빌려오면 되겠죠? ㅎㅎ
HP와, explosion 변수를 줬으니, 이제 제 비행선은 체력이 100 이고
폭발하는 파티클 오브젝트를 넣을 수 있게 되었습니다.
그리고, 폭발 파티클은, 운석 터질때 썼던거 그대로 쓸께요.
뭐...다른걸로 만드셔서 쓰셔도 됩니다.
저 부분에 드래그해서 넣습니다.
그러면, 부딫히면 제 비행선은 한방에 훅갑니다.
왠지 분하군요....ㅇㅅㅇ 한방에 가는건 말고;;; 데미지를 좀 입히고 체력고갈되면 터치게 할께요.
자, 데미지변수를 만들고, 이렇게 구성을 합니다.
예전에 운석이나 적 비행선이 미사일 맞을때 스크립트랑 비슷합니다.
주의하실 점은, {} 괄호 주의!!!!
그러면, 한번 부딫힐때마다 제 비행선 데미지가 35씩 피해를 받으니
총 HP가 100이므로, 세번 부딫히면 제 비행선은 터지게 되겠죠?
이렇게 되지요^^
이번엔 적들의 운석과 비행선이 부딫히면 한방에 터지도록 하겠습니다.
물론 저도 데미지는 계속 입게 되죠.
마지막 부분에 콜리젼 스크립트를 이용해서, 샌드메세지 명령어를 기억하시나요?
적들의 HP도 100 이므로, 뭐..넉넉하게 500 전달해 주면 한방에 훅가겠죠? ㅎㅎ
이렇게 되지요^^ 저도 세번 부딫히면 같이 터집니다.
자~ 오늘은 충돌에 대한 스크립트를 배웠습니다.
다음시간에는, 이제 HP 관련 UI 를 배워 보도록 하겠습니다^^