✨ Feat 바운더리 추가
플레이어가 화면 밖으로 넘어가지 않도록
일정 바운더리를 제한해 주었다.
boundary라는 변수를 선언해서 이동 범위를 변수로 관리할 수 있도록 했다.
그리고 boundary를 넘어가게 되면 위치값을 바운더리 경계선으로 설정을 해서
경계선을 넘어서 이동하지 못하도록 했다.
처음에 x값을 제한하기 위해서
transform.position.x = 10.0f 라고 작성을 했는데
'Transform.position'은(는) 변수가 아니므로 해당 반환 값을 수정할 수 없습니다.
라는 오류 메시지가 뜨게 된다.
이 오류를 수정하기 위해서는
transform.position.x = new Vector3() 로 작성을 해주어야 한다.
C#에서 구조체와 프로퍼티를 다루기 때문에 생기는 문제라는데
도저히 이해가 안되서 일단 패스....
public float boundary = 10.0f;
// Update is called once per frame
void Update()
{
Move();
//Add boundary
if (transform.position.x <= -boundary)
{
transform.position = new Vector3(-boundary, transform.position.y, transform.position.z);
}
else if (transform.position.x >= boundary)
{
transform.position = new Vector3(boundary, transform.position.y, transform.position.z);
}
}
참고: C#의 구조체에 대한 설명
C# 구조체 프로퍼티, 구조체 인덱서
구조체의 특징 초기화(할당), 리턴 등의 동작을 통해 값을 전달할 경우, 구조체가 통째로 복제된다.
rito15.github.io
C#을 조금 더 공부하고 나서 보면 좋을 것 같은 구조체에 대한 글
'유니티 > [길건너 친구들] 클론코딩' 카테고리의 다른 글
[Unity] #1 플레이어 좌우앞뒤 이동 기능 구현 (0) | 2023.01.03 |
---|---|
[Unity] #0 길건너 친구들(Crossy Road) 클론코딩 (0) | 2023.01.02 |