2022/12/24 크리스마스 이브

노윤수·2022년 12월 24일

이렇게 좋은 크리스마스 이브날 무슨 기능을 구현했는지 알아볼까용~?

1.전체 맵 펼쳤을때 스크롤을 통해서 확대 축소 가능하게 하기: 

Iscrollhandler, IdragHandler, IdropHandler를 사용해서 구현 위의 세가지 인터페이스들은 전부 (PointerEventData eventData)를 사용, eventData를 통해 값에 접근 가능.
Iscrollhandler의 eventData.scrollDelta.y를 vector3로 만들어 transform.localscale에 +=하는 방식으로 확대 축소 기능구현

2.전체 맵 확대했을 때 누르고 맵 옮기기+클릭 끝나면 원상태로 복귀:

첫 번째는 eventData.delta를 anchoredPosition에 더하는 방식으로 구현
두 번째는 localPosition을 Vector3.zero로 설정함으로서 부모(canvas) 위치의 정가운데로 이동할 수 있게함

3. 인터페이스 활용 연습:

IItem 만들어서 onTriggerEnter에서 각각의 기능을 사용할 수 있도록 함.
인터페이스를 만들기 위해서는 메서드 선언만 하면 됨. 메서드 구현은 인터페이스를 상속받은 클래스에 맡김. IItem은 각각의 item들에 상속시키고, IItem item = hit.collider.gameObject.GetComponent(); 은 플레이어 쪽 Physics.Raycast안에 삽입.

4. dotween의 시퀀스 사용:

예를 들어서 위 아래로 왔다갔다하는 책을 간단하게 만들고 싶다? 그러면 일단 sequence 생성.
Sequence sequence로 생성하고 여기에 필요한 메소드는 append로 추가. (ex: sequence.append(transform.DOMove(transform.position+Vector3.up)

중요: Sequence sequence=DOTween.Sequence(); 로 시작함

그리고 update문에서 루프 돌리기 (ex: sequence.SetLoops(-1, LoopType.Yoyo)

5. 커서와 관련된 내용:

Cursor.lockState = CursorLockMode.Locked;
커서 잠금기능
Cursor.lockState = CursorLockMode.Confined;
커서가 화면 밖으로 못나가게 막는 기능

profile
코딩조아

0개의 댓글