본문 바로가기
개발자가 되어보자..공부공부

C# 유니티 공부 17 - 2D 슈팅 예제(보스 생성, 보스 총알 패턴, 삼각함수 계산.)

by 묭묭이와소담이 2022. 12. 17.
반응형

* 보스 생성 후 정지.

- Enable에서 Invoke를 이용하여 Stop 함수 실행.

- Stop 함수는 새로 생성.

(vector를 제로로 만들어 주면 됨.)

 

* 보스 총알 발사 로직.

0. 발사 준비.

- 변수 생성.

- Stop 함수에서 Think 함수를 Invoke 시켜 놓음.

- Think 함수는 patternIndex라는 변수에 따라 보스 공격을 실행시킴.

- 공격 패턴에 따라서 다양한 함수 생성.

- 공격 패턴 함수 내에 아래 로직을 포함시켜, 공격이 순환되도록 함.

 

   curPatterCount++;

        if (curPatterCount<maxPatterCount[patterIndex])
            Invoke("Firefoward", 2);
        else
            Invoke("Think", 1.5f);

 

 

 

1. 일직선 4발 발사.

- 일반 적 비행기 총알 발사와 다른 점 없음.

 

 

2. 플레이어 방향으로 미사일 발사.

- index에 따라 총알 갯수 설정.

- 총알이 플레이어 방향으로 겹치지 않게 하기 위하여, 랜덤 Vector 구현.

 

 

3. 부채꼴로 채찍 휘두르듯 총알 발사.

- 총알이

x좌표 : Mathf.Cos(Mathf.PI* 2 * curPatterCount / maxPatterCount[patterIndex])

y좌표 : -1

로 하여 발사되도록 설정. (Cos(x), -1)

 

 

 

 

4. 원 형태로 발사.

- RoundNuA~C까지 변수를 3개 사용한 이유는, 1가지 패턴으로 총알 발사가 되는 것을 방지하기 위하여.

- 벡터좌표 값은 삼각함수 이용.

x좌표 : Cos(Mathf.PI * 2 * index/ roundNumC)

y좌표 : Mathf.Sin(Mathf.PI * 2 * index / roundNumC)

- 총알이 뒤쪽으로 발사 될 때, 총알 방향을 회전시켜주기 위한 회전 로직 추가

 

 

반응형

댓글