[NGUI] 스크롤뷰(패널) 맨끝으로 드래그했을때 처리
Unity3D/NGUI / 2018. 1. 11. 14:41
자답입니다.
NGUI 소스를 분석해 보니 직접적으로 이벤트를 발생시켜주지는 않는군요.,
대신 UIDraggablePanel 에서 드래그를 완료했을때 발생시켜 주는 이벤트(델리게이트로 구현)를 받아
좌표 계산 후 상단끝에 도달했는지 하단끝에 도달했는지 판단할 수 있습니다.
1. 델리게이트 등록
dragPanel.onDragFinished = new UIDraggablePanel.OnDragFinished(OnDragFinished);
2. 드래그완료 이벤트에서 좌표계산 후 영역판단.
void OnDragFinished()
{
Vector3 constraint = dragPanel.panel.CalculateConstrainOffset(dragPanel.bounds.min, dragPanel.bounds.max);
if (constraint.y > 0)
{
// 상단끝
}
else if (constraint.y < 0)
{
// 하단끝
}
}
NGUI 소스를 분석해 보니 직접적으로 이벤트를 발생시켜주지는 않는군요.,
대신 UIDraggablePanel 에서 드래그를 완료했을때 발생시켜 주는 이벤트(델리게이트로 구현)를 받아
좌표 계산 후 상단끝에 도달했는지 하단끝에 도달했는지 판단할 수 있습니다.
1. 델리게이트 등록
dragPanel.onDragFinished = new UIDraggablePanel.OnDragFinished(OnDragFinished);
2. 드래그완료 이벤트에서 좌표계산 후 영역판단.
void OnDragFinished()
{
Vector3 constraint = dragPanel.panel.CalculateConstrainOffset(dragPanel.bounds.min, dragPanel.bounds.max);
if (constraint.y > 0)
{
// 상단끝
}
else if (constraint.y < 0)
{
// 하단끝
}
}
[출처] http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=30574
반응형
'Unity3D > NGUI' 카테고리의 다른 글
[펌] EmojiLabel (for NGUI with dynamic font) (0) | 2018.06.07 |
---|---|
Useful stuff for NGUI (0) | 2018.06.07 |
[펌] NGUI 최적화의 핵심 (0) | 2017.10.11 |
[펌] NGUI의 UILabel에서 개행(\n)이 안되는 문제 (0) | 2017.07.17 |
[펌][NGUI] UI와 일반 오브젝트의 터치 이벤트 처리. (0) | 2017.06.01 |