// 캐릭터의 위에 따라 카메라가 이동하도록 하는 메서드 void FixedUpdate() { transform.position = new Vector3(ArrangeManager.GetInstance().GetPlayer(pn).transform.position.x, ArrangeManager.GetInstance().GetPlayer(pn).transform.position.y, 0); transform.Translate(0, 0, -10); //카메라를 원래 z축으로 이동 transform.position = new Vector3( Mathf.Clamp(transform.position.x, -0.5f + xDistance, 52.5f - xDistance), Mathf.Clamp(transform.position.y, -0.5f + yDistance, 52.5f - yDistance), -10); if (bound) { //Mathf.Clamp(현재값, 최대값, 최소값); 현재값이 최대값까지만 반환해주고 최소값보다 작으면 그 최소값까지만 반환합니다. transform.position = new Vector3(Mathf.Clamp(transform.position.x, -0.5f + xDistance, 52.5f - xDistance), Mathf.Clamp(transform.position.y, -0.5f + yDistance, 52.5f + yDistance), -10 ); } }
private static ArrangeManager _instance; // 7~20라인 싱글톤 public static ArrangeManager GetInstance() { if (_instance == null) { _instance = FindObjectOfType <ArrangeManager>(); if (_instance == null) { GameObject container = new GameObject("ArrangeManager"); _instance = container.AddComponent <ArrangeManager>(); } } return(_instance); }
private void Awake() { Instance = this; }
private void Start() { gm = GeneralManager.Instance; gameManager = ArrangeManager.Instance; mainCam = Camera.main; }