-
2D 횡스크롤에서 맵에 따른 카메라 전환쾌락없는 책임 (공부)/Unity 2021. 4. 6. 21:21반응형
<이전 스크립트>
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RoomCam : MonoBehaviour { public GameObject vituralCam; public GameObject Map; private void OnTriggerEnter2D(Collider2D other) { if(other.CompareTag("Player") && !other.isTrigger){ vituralCam.SetActive(true); Map.SetActive(true); } } private void OnTriggerExit2D(Collider2D other) { if(other.CompareTag("Player") && !other.isTrigger){ StartCoroutine(SetTF()); } } IEnumerator SetTF(){ yield return new WaitForSeconds(1f); vituralCam.SetActive(false); Map.SetActive(false); } }
이전 스크립트의 문제라고 하면 맵 사이를 왔다갔다하면 맵이 사라지는데 플레이어가 맵에 진입하게 되는 문제가 있었습니다.
<개선 스크립트>
using System.Collections; using System.Collections.Generic; using UnityEngine; public class RoomCam : MonoBehaviour { public GameObject vituralCam; public GameObject Map; bool isPlayerExist; private void OnTriggerEnter2D(Collider2D other) { if(other.CompareTag("Player")){ isPlayerExist = true; vituralCam.SetActive(true); Map.SetActive(true); } } private void OnTriggerExit2D(Collider2D other) { if(other.CompareTag("Player")){ isPlayerExist = false; vituralCam.SetActive(false); StartCoroutine(SetTF()); } } IEnumerator SetTF(){ yield return new WaitForSeconds(1f); if(!isPlayerExist){ Map.SetActive(false); } } }
플레이어에 따라 즉각적으로 카메라가 바뀌게 했으며 맵의 경우 bool변수를 추가해 플레이어가 지금 있는곳이 어디인지 검증하게 했습니다.
반응형'쾌락없는 책임 (공부) > Unity' 카테고리의 다른 글
유니티 2D 아이템 드랍 오브젝트 폴링으로 구현하기 (0) 2021.05.08 Unity 2D Ghost Trail Effect 제작 (0) 2021.05.02 유니티 텍스트 메쉬 프로 한글 적용하기 - Unity TextMeshPro korean (1) 2021.03.27 유니티 2D 시네머신 사용기 - 씬 이동시 플레이어를 추적하는 카메라 (2) 2021.03.26 [유니티 2D 스터디] 애니메이션, 추가로 시네머신 살짝 공부 (0) 2021.03.16