bombCrate -> crate, parachute
FloatDown 애니(떨어질때 흔들흔들하는모션) 와 BombLanding(떨어지고 나서 낙하산이 없어지는모션) 애니로 구성되있음
landed -> 현재 땅인지 체크
폭탄은 서클 콜라이더와 박스 콜라이더로 구성되있고 서클콜라이더는 is Trigger 체크 되있음
그래서 OnTriggerEnter 함수를 호출할수잇음. 박스콜라이더는 땅과 부딪히게 할려고 부착한 상태인듯. isTrigger 시 충돌 무시해버리고 통과되기때문.
Player 와 부딪힐 경우에는 플레이어의 폭탄 개수를 늘려주고 삭제해버림.
그리고 땅과 부딪힐경우에는 else if(other.tag == "ground" && !landed)
Ladn 애니메이션을 실행시키고
Create 폭탄의 부모 오브젝트를 null값으로 만들어준다.
그리고 리지드바디를 추가시킴(추가가 안될시 플레이어와 물리효과를 집어널수없기때문,.)
explosionParticle -> 은 히어라이키에 한개만 존재함 이함수를 재활요해서 계속 사용함
폭탄관련함수
if(transform.root == transform)
StartCoroutine(BombDetonation());
플레이어가 알트 버튼을 눌러서 폭파 시킬때 실행됨 최상위 오브젝트가 없을때(Create일때) -> LayBombs 스크립트에서 실행
Explode() -> 외부에서 실행됨 폭탄이 내려오는데 플레이어가 총으로 맞춘다던가
bombLaid 를 false로 만들어줌.
pickupSpawner -> 픽업매니저 스크립트 -> PickupSpawner 구급상자와 폭탄 생성
pickupSpawner.StartCoroutine(pickupSpawner.DeliverPickup()); -> 아이템 재생성
Collider2D[] enemies = Physics2D.OverlapCircleAll(transform.position, bombRadius, 1 << LayerMask.NameToLayer("Enemies"));
적들의 체력을 0으로 만들고 적들을 튕겨내버림
explosionFX.transform.position = transform.position;
explosionFX.Play();
이펙트 위치 설정 및 실행
플레이어에 붙어있는 스크립트
bombLaid -> 폭탄 발사여부 - > Explode 함수가 실행되야 false로 변함
bombCount -> 폭탄 개수
알트 버튼 누르면 발사
'잡다한것들전부 > 공식예제' 카테고리의 다른 글
| 몬스터 관련 함수 - Enemy 스크립트 (0) | 2014.02.25 |
|---|---|
| 점수 표현 - Score (0) | 2014.02.25 |
| 폭탄과 구급 상자 - Bomb Pickup, Bomb (0) | 2014.02.25 |
| 물체 파괴 함수 -> Destroyer 스크립트 (0) | 2014.02.25 |
| killTrigger -> 모든 적과 주인공 충돌(강) - Removver 스크립트 (0) | 2014.02.25 |
| 플레이어의 체력 - PlayerHealth (0) | 2014.02.25 |


