* crtl + shift + F
씬뷰와 게임뷰의 오브젝트를 같은 Transform으로 만듦.
(카메라 볼 때 유용하게 사용.)
* 빌드매니저 스크립트 생성 (게임매니저 오브젝트에 삽입)
★ ★ 싱글톤 패턴(Singleton Pattern)
- 애플리케이션이 시작 될 때, 클래스가 최초 한 번만 메모리를 할당(static)하고 해당 메모리에 인스턴스를 만들어서 사용하는 패턴을 말한다
즉, 싱글톤 패턴은 한 개의 인스턴스만 생성하여 사용하는 패턴이다.
(인스턴스가 필요할 때, 똑같은 인스턴스를 만들지 않고 기존의 인스턴스를 활용하는 것.)
기본적으로 객체를 생성할 때마다 메모리 영역을 할당받아야 하는데,
싱글톤 패턴을 적용하여 한 번의 메모리 할당으로 메모리 낭비를 방지 할 수 있다
싱글톤으로 구현한 인스턴스는 전역변수로, 다른 클래스의 인스턴스들이 데이터를 공유할 수 있다.
Awake에서 Static 변수로 선언했던 instance를 this로 지정해주면 전역변수로 사용 가능.
* Node(길) 클릭 시에 터렛 생성하는 로직 구현.
- Node 스크립트 생성.
- onMouseEnter/Exit/Down 3가지 함수 사용.
- Enter,Exit 시에 색깔이 변화하도록 함.
- Down 시에 Instatiate로 터렛 생성. (buildmanaer 스크립트의 싱글톤 패턴으로 쉽게 접근 가능.)
* 카메라 조정
- W,A,S,D 키로 카메라가 상하좌우로 이동하도록 함.
(여기서는 Screen.heigth / Screen.width 사용.)
Screen.heigth / Screen.width는 물리적 스크린(좌표계) 자체를 의미.
Camera.main.Width 는 카메라별로 가지는 스크린(좌표계)의 크기.
- 마우스 커서의 위치가 상하좌우 일정 범위에 도달하면, 카메라도 상하좌우로 이동하도록 함.
- 마우스 휠로 카메라를 확대, 축소 할 수 있도록 함.
y축을 조정하며, 최소/최대값을 설정.
Mathf.Clamp(입력값, 최소값, 최대값) - 입력값을 최소~최대 사이에서만 값을 반환함.
- 위 로직은 ESC키로 On/Off 할 수 있음. (bool값 변수 사용)
댓글