728x90
이제 게임같이 움직이고, 플레이어에 따라 카메라가 이동하는것 까지 구현해놓고 나니, 그래도 뭔가 게임만들기의 시작이 된것같다.
그럼 이제 플레이어가 화면 밖으로 나가지 못하게 막아보자.
이전 플레이어에 붙여뒀던 PlayerManager에 다음 코드를 추가한다.
//PlayerManager
void Update()
{
//플레이어 이동
//중략
//플레이어 움직임 제한 (범위 밖으로 나가지 못하게)
Vector3 pos = Camera.main.WorldToViewportPoint(this.transform.position);
if (pos.x < 0f) pos.x = 0f;
if (pos.x > 1f) pos.x = 1f;
if (pos.y < 0f) pos.y = 0f;
if (pos.y > 1f) pos.y = 1f;
this.transform.position = Camera.main.ViewportToWorldPoint(pos);
}
중략한 부분은 이전에 코딩했던 부분이다.
일단 플레이어의 움직임을 받아온 뒤, 카메라 밖으로 나가는지 체크하는 코드를 작성하였다.
Camera.main은 현재 메인 카메라로 지정되어있는 카메라의 Viewport를 들고오기 위해 사용하였다.
계산을 해주고 난 후, viewport를 worldpoint로 변환해서 대입해주면 된다.
아직 손볼곳이 많지만 일단 천천히 수정하자.
728x90
'Develop > 마음대로 만드는 게임' 카테고리의 다른 글
[NProject] 마음대로 만드는 게임 - 6. 인벤토리 구현(디자인 만들기 추가) (0) | 2024.05.15 |
---|---|
[NProject] 마음대로 만드는 게임 - 5. 인벤토리 구현(디자인 만들기) (0) | 2024.05.10 |
[NProject] 마음대로 만드는 게임 - 3. 카메라 설정 (0) | 2024.05.10 |
[NProject] 마음대로 만드는 게임 - 2. 타일맵 만들기 (0) | 2024.05.09 |
[NProject] 마음대로 만드는 게임 - 1. UI 기본 세팅 (0) | 2024.05.09 |