(골드메탈님 유투브 참고)
* 플레이어 이동.
* 무한맵 구현.
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라면 로직 실행.
(추후 적 이동에서도 해당 로직을 사용해야 하는데.. 스크립트 이름을 잘못 지음....)
'개발자가 되어보자..공부공부 > 개발 일지' 카테고리의 다른 글
3D 랜덤 디펜스 개발 일지 2. 적 생성 및 이동, 영웅 적 공격, Excel 데이터 가져오기 (0) | 2023.01.11 |
---|---|
3D 랜덤 디펜스 개발 일지 1. 맵 생성, 영웅 생성, RTS식 영웅 이동 (0) | 2023.01.11 |
3D 랜덤 디펜스 개발일지 0. (0) | 2023.01.07 |
C# 유니티 공부 28 - 디펜스 게임 최종. (UI Fade in/out, 체력 바 생성, 업그레이드, 상점판매, 파티클 공격 로직, 디펜스 게임 적 생성 로직) (0) | 2023.01.02 |
C# 유니티 공부 27 - 디펜스 게임(Serializable, 스플래쉬 공격, 상점 포탑 구매 등) (0) | 2022.12.29 |
댓글