오늘은 조금은 쉬어가는 느낌으로다가
프로젝트를 진행하면서 구현한 드래그 드롭 하는 방법에 대해 정리해 보고자 합니다.
이전에 진행했던 프로젝트에서 당시 팀원분이 드래그 드롭을 구현하신 걸 본 적이 있습니다.
그때는 어떻게 구현하신 건지 이해를 못했었는데,
이번에 코드를 다시 보니 이해가 되더군요.
어쩌면 나, 조금은 성장한걸지도?
아직 멀었지만.
(남들은 금방 구현하던데, 나는 언제쯤 금방 구현 할 수 있는 수준까지 올라갈 수 있을지;;)
구현 방법
UnityEngine.EventSystem에는 여러 내장 인터페이스가 있습니다.
그중에서 드래그, 드롭과 관련하여 자주 사용되는 인터페이스를 몇 가지 가져왔습니다.
드래그
- IBeginDragHandler: 드래그 시작할 때 1회 호출
- IDragHandler: 드래그 중일 때 매 프레임 호출
- IEndDragHandler: 드래그가 끝날 때 1회 호출
- IDropHandler: 다른 오브젝트가 이 오브젝트 위에 드롭될 때 1회 호출
마우스 / 터치
- IPointerDownHandler: 클릭/터치 시작할 때 1회 호출
- IPointerUpHandler: 클릭/터치를 뗄 때 1회 호출
- IPointerEnterHandler: 마우스가 UI 영역에 들어올 때 1회 호출
- IPointerExitHandler: 마우스가 UI 영역을 벗어날 때 1회 호출
하면서 겪었던 문제점
Hirarchy창에 EventSystem이 있어야 합니다.
- 이것 때문에 왜 안 되나 혼자서 한참 끙끙거렸었네요 ㅠ
결과물
드래그가 정상 동작 하는지 알아본다고
가진 이미지 중에 이미지를 넣는다는 게;;
그래도 한눈에 들어오기는 하네요. ㅋㅋ
마무리
오늘은 간단하게 드래그 & 드롭 구현한 내용을 정리해 봤습니다.
이제 DB에서 캐릭터 정보를 받아와서
해당 캐릭터를 불러오도록 만드는 일만 남았네요.
이벤트 시스템 말고도 유니티 관련 함수들의 내장 인터페이스들에 대한 설명도 있으니
아래 참고 자료 들어가서 한번 보는 것도 좋을 듯합니다.
참고한 자료
https://docs.unity3d.com/Packages/com.unity.ugui@2.0/api/UnityEngine.EventSystems.html
Namespace UnityEngine.EventSystems | Unity UI | 2.0.0
Namespace UnityEngine.EventSystems Classes A class that can be used for sending simple events via the event system. Event Data associated with Axis Events (Controller / Keyboard). A class that contains the base event data that is common to all event types
docs.unity3d.com
https://youtu.be/uTeZz4O12yU?si=c_yxyUkx_5UlmZqi
'미니 프로젝트' 카테고리의 다른 글
유니티 팀 프로젝트 #4 3D 서바이벌 프로젝트 (완) (0) | 2024.11.06 |
---|---|
유니티 프로젝트 : #3 2D TopDown 게임 (완) (1) | 2024.10.14 |
유니티 : 미니프로젝트 #2 - 2 우주 수박게임을 따라 만들어 보자 (완) (0) | 2024.09.06 |
유니티 - 미니프로젝트 #2-1 : 수박게임을 따라 만들어 보자. (0) | 2024.08.30 |
유니티 : 미니 프로젝트#1(완) - 낚시 게임을 따라 만들어 보자 (0) | 2024.08.28 |