728x90
public으로 선언하면, 다른 객체에서도 자유롭게 get과 set이 모두 가능하다는 의미이다.
그와 동시에 인스펙터 창에서 public으로 선언된 변수 혹은 기타 어떤 것의 값을 수정할 수 있다.
여기서 주의해야 할 점은
public으로 선언한 변수의 값은, 스크립트보다 인스펙터 창에서 설정한 값이 우선 적용된다는 것이다.
따라서 인스펙터 창에서 어떤 변수 값을 10으로 해놨으면, 스크립트에서 아무리 10000으로 바꾸고 난리를 쳐도 10으로 적용된다.
게임 매니저에서 쓰는 유일한 변수 하나를 스크립트에서 고쳐도 계속 오류가 뜨길래 한참 해맸다...^^
심지어 저번에 비슷한 일을 겪어서 퍼블릭은 인스펙터에서 수정하자고 다짐했었는데 그새 까먹어서 기록해둔다.
귀찮아서 웬만하면 public으로 선언했는데,
public, private 등 상황에 맞게 잘 쓰는 것이 역시 중요한가보다.
+ [HideInInspecter] 선언해서 인스펙터 창에서 public 변수를 숨길 수 있는데, 이미 전에 인스펙터 창에서 설정해둔 값이 있다면 정말 문자 그대로 숨기기만 하고 값은 인스펙터 창에서 결정했던 값으로 결정된다.
728x90
'Unity' 카테고리의 다른 글
[Unity] 오브젝트 풀링시 총알이 자꾸 사라지는 문제 (0) | 2022.05.17 |
---|---|
[Unity] 오브젝트 풀링 + 가장 가까운 적 방향으로 공격 (0) | 2022.04.22 |
[Unity] 화염 방사 아이템 (0) | 2022.04.12 |
[Unity] 로그라이크 개발 - 아이템 강화 시스템 실패 (0) | 2022.03.31 |
[Unity] 가장 가까운 적에게 투사체 발사 (0) | 2022.03.27 |