본문 바로가기

유니티, C#

(3)
스크롤뷰 최적화 (RectMask2D) 스크롤뷰가 렌더링 성능을 많이 낮출지 몰랐다. 스크롤뷰의 뷰포트 밖에 있는 리스트 오브젝트들이 다 그려지고 있기 때문이다. (유저 입장에서는 볼 수 없는데도!) 이럴 때는 스크롤뷰에 RectMask2D 컴포넌트를 추가하면 된다. RectMask2D는 스크롤 뷰의 뷰포트 외부에 존재하는 자식 오브젝트들이 drawable 리스트에 포함되지 않게 해준다. RectMask2D를 추가한 뒤 Statistics를 봤더니 Batches와 Verts, Tris 수치가 확 줄었다! 참고한 블로그 주소이다 https://lifeisforu.tistory.com/344
클래스, 추상 클래스, 인터페이스 비교 클래스 추상 클래스 인터페이스 키워드 class abstract class interface 기능 필드와 메서드로 이루어진 객체 추상 메서드를 하나 이상 가진 클래스, 자식 클래스에 대해 오버라이딩 강제 메서드의 선언부만 가짐, 모든 메서드가 추상 메서드라서 상속받은 클래스는 반드시 구현해야함 변수 선언 가능 가능 불가능 함수 선언 가능 가능 가능 함수 구현 가능 추상 메서드 구현 불가능 불가능 객체 생성 가능 불가능 불가능 목적 객체를 나타내기 위한 틀 코드의 재사용 및 확장 반드시 구현해야하는 요구사항 상속 가능 여부 부모 클래스 (행) → ↓자식 클래스 (열) 일반 클래스 추상 클래스 인터페이스 일반 클래스 O O (오버라이딩 필수) O (오버라이딩 필수) 추상 클래스 O O O 인터페이스 X X ..
마우스 스와이프 구현 로직 private Vector3 m_firstPosition; private Vector3 m_lastPosition; private float m_angle; private float swipeResist = 1f; private void OnMouseDown() { m_firstPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); } private void OnMouseUp() { m_lastPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); CalculateAngle(); } private void CalculateAngle() { if (Mathf.Abs(m_lastPositio..