팀장이 GameMain을 담당해서 만들어주고 있고
Follower가 1, 2, 3이 있는데
1은 player를
2는 follower 1을
3은 follower 2를
따라가게 만들었다.
SetActive = false 상태에서 Power를 먹으면 하나씩 SetActive = true 상태가 되게 만들어줬다.
Scripts
Update 부분에
Watch : 계속 따라다니는 위치 저장해놓기
Follow : 저장한 위치 따라다니게하기
Fire : 총알 발사하기
Reload : 2초 간격 시간 저장하기
이렇게 메서드를 만들어줬다.
사용한 전역변수
maxShotDelay : 최대 쏘기까지의 시간 [2초로 지정]
curshotDelay : 현재 시간
bulletPrefab : 총알 게임오브젝트
bulletTr : 총알 위치
followPos : follower 1, 2, 3이 따라가는 위치 지정
parent : inspector 상에서 Player, Follower 1, 2 순서로 지정해줌
parentPos : Queue 구조로 FIFO 사용
followDelay : 따라가는걸 빠르게 혹은 느리게 지정해주는 역할
Watch()
멈춰있을 때는 parent의 위치를 받아와서 같이 멈추고
움직일 때는 parentPos의 큐에서 빼준 값을 followPos에 넣어줘서
follower들의 위치를 지정해주고있다.
Follow()
followPos의 위치를 follower들이 받고있다.
Fire()
2초가 지나지 않으면 다시 그냥 내보내고
2초가 지났다면 총알을 Instantiate해준다.
그리고 다시 현재 총알 시간을 0초로 바꿔준다.
Reload()
현재 총알 시간을 계속 더해준다.
결과
지금 팀원들이 GameMain을 수정해놔서 임의적으로 SetActive == false 상태인 follower들을 true 상태로 바꿔줬다.
오류
원래는 Power를 먹으면 follower들이 Instantiate 되는 형식을 만들었는데
생각해보니 골드메탈님의 2D 종스크롤 슈팅게임에서는 최대 보조무기가 3개라서
Player 하단부에
직접 Follower들을 놔두고 Instantiate가 아닌 SetActive 형식으로 바꿔주었다.
'SpaceShooter 팀 프로젝트 개발일지' 카테고리의 다른 글
TeamSpaceShooter - 2일차, Follower 수정, 플레이어 무적추가 (0) | 2023.10.16 |
---|---|
TeamSpaceShooter - 1일차 플레이어[이동, 애니메이션, 총알발사, 위치가두기] (0) | 2023.10.16 |
SpaceShooter 개발 방향성 (0) | 2023.10.13 |