본문 바로가기

Unity/Unity2D_Shooting

Unity2D_Shooting - 적 비행기 구현, 랜덤생성

1. enemy 구현

 (1) - enemy 스프라이트를 아틀라스로 자른 후에 각 enemy 오브젝트에 맞는 콜라이더를 추가한다

        *polygon collider는 phisics shape을 따라감 아래 예제는 삼각형 모양 enemy 오브젝트의 콜라이더를

        스프라이트에디터에 들어가서 custom phisics shape -> Generate 클릭 -> 콜라이더경계를 수동지정해준다

(2) - 세개의 enemy 오브젝트에 이름을 가각주고 tag는 enemy로 통일하며 각각에 맞는 콜라이더를 주고 움직이도록 

      속력을 줘야하기때문에 rigidbody2D 속성도 추가해준다

    - 그리고 이놈들의 bodyTpye이 Dynamic이기 때문에 각각 isTrigger도 체크해준다 그래야 서로 안부딫친다..

    - 중력의 영향도 없앤다! Gravity Scale = 0으로!

 

(3). Enemy 스크립트 작성

 

//1.변수는 무엇을 주어야하나 -> 체력, 움직이는 스피드, 피격스트라이프,

//2.기능은 무엇을 주어야하나 -> 테두리와 ontrigger하면 사라짐, 총알을 맞으면 피격스트라이프로 바꼈다가 다시 원래대로 돌아옴, 총알을 맞고 체력이 0이 되면 사라짐

 

  - Enemy스크립트 작성

 

 

 - Bullet 스크립트 작성

 

 - Enemy오브젝트들에 스프라이트 배열 size 2를 주고 본색과 하얀색 두가지 스트라이프를 드래그앤드랍, health와 speed도 정해줌

 

 

- BulletA와 BulletB 프리팹에 Bullet 스크립트 속 public 된 bulletDmg변수를 각각 다르게 설정해줌

 

 -Enemy 스크립트에서 enemy가 움직이도록 rigid.velocity를 준다

 

 - Enemy 오브젝트들을 프리팹으로 만든다

 

2. 랜덤한 위치에서 랜덤한 enemy기체가 생성되게 코드구현

 

 (1) - 코드구현

 (2) - 코드에 맞게 public된 배열안에 size를 정하여 맞는 오브젝트를 드래그 앤 드랍

 

(3) - enemy프리팹의 생성 딜레이를 랜덤으로 주도록 코드변환