SpaceShooter 팀 프로젝트 개발일지

TeamSpaceShooter - 1일차, 소형 펫[따라다니기, 위치 저장, 총알 발사]

다모아 2023. 10. 16. 13:17

팀장이 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 형식으로 바꿔주었다.