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

C# 유니티 공부 29 - 2D Undead Suvivor 예제 진행. (Static 변수 설정, 무한맵 이동)

by 묭묭이와소담이 2023. 1. 10.
반응형

(골드메탈님 유투브 참고)

* 플레이어 이동.

 

* 무한맵 구현.

1) Static 정적 변수

- GameManager에서 static(정적) 변수 선언. 

Awake에서 메모리를 한 번 할당해주면, 그 메모리를 다시 할당하지 않고도 어디서든 사용 가능.

- GameManger에서 Player 스크립트을 선언하고, instance로 선언한 stacti 변수의 메모리를 할당하여 사용.

 

 

 

2) 무한맵 구현

- GroundMovement 스크립트 작성.

- 4개의 타일맵을 그려주고, 플레이어가 이동함에 따라 타일맵이 이동하는 형태로 무한맵 구현.

- 플레이어에 empty 자식 오브젝트를 생성하여, Box Collider를 만들어줌.

해당 Collider와 Tilemap의 Coliider와 반응하여 OnTriggerExit2D 실행. (IsTrigger 체크.)

- 플레이어와 각 타일맵의 x,y 각 좌표의 차이를 절대값 변수로 생성.

x축의 차이가 크다면 수평(x축방향)으로 타일맵이 이동하고, y축의 차이가 크다면 수직(y축방향)으로 이동하게 됨.

 

- Static 변수로 선언한 GameManager.instance를 통하여 player의 이동 Vector3 데이터를 가져옴.

player 이동방향에 따라 Tile맵이 왼쪽(-), 오른쪽(+), 아래쪽(-), 위쪽(+)로 이동할지 확인시켜주는데에 필요함.

 

- Switch 문을 통하여, 해당 스크립트가 삽입되어 있는 transform의 태그가 Ground라면 로직 실행.

(추후 적 이동에서도 해당 로직을 사용해야 하는데.. 스크립트 이름을 잘못 지음....)

 

 


 

 

 

반응형

댓글