* 보스 생성 후 정지.
- 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)
- 총알이 뒤쪽으로 발사 될 때, 총알 방향을 회전시켜주기 위한 회전 로직 추가
댓글