개발공부/유니티

[Unity] 유니티 리스트박스 만들기 (ListBox)

정보를드립니다 2022. 7. 21. 23:35
반응형

안녕하세요

리스트 박스를 만드는 방법에 대해 알아보도록 하겠습니다.

1. 오브젝트 추가

일단 다음과 같이 오브젝트를 생성합니다.

2. 오브젝트 설정

각 오브젝트는 다음과 같이 설정합니다.

1) Panel

Panel 오브젝트는 크기만 조정했습니다.

Panel

 

2) ScrollRect

ScrollRect오브젝트는 처음에 빈 게임 오브젝트를 생성해준 후 거기에 Scroll Rect 컴포넌트와 Rect Mask 2D 컴포넌트를 추가합니다. 

ScrollRect 컴포넌트의 Content에는 ButtonGroup 오브젝트를 넣어줍니다.

그리고 Horizontal(수평)을 체크를 해제하여 수평(좌우)으로 ButtonGroup 오브젝트가 움직이지 않도록 합니다.

Rect Mask 2D 컴포넌트는 ScrollRect범위내에 ButtonGroup가 넘어갈 경우 안 보이도록 처리됩니다.

ScrollRect 오브젝트에서는 ButtonGroup 오브젝트가 움직일 수 있는 범위를 width와 Height만큼으로 지정합니다.

빨간색 부분이 ScrollRect, 파란색 부분이 ButtonGroup의 범위가 됩니다.

ButtonGroup은 ScrollRect범위의 각 변을 벗어날 수 없게 됩니다.

각 변을 다음과 같이 번호를 매기면, 이동 시 5번 변이 1번 변보다 아래로 내려갈 수 없고(위로는 올라갈 수 있습니다.),  7번 변이 3번 변보다 위로 올라갈 수 없습니다(아래로 내려갈 수 없습니다.).

아래위로 이렇게 제한됩니다.

3) ButtonGroup

Grid Layout Group 컴포넌트를 추가해서 버튼들의 크기를 지정해줄 수 있습니다.

Cell Size를 정하면 하위 버튼들이 크기에 맞게 변합니다.

Width와 Height는 버튼 개수에 따라 맞춰서 지정하면 됩니다.

저는 Y size가 100인 버튼이 6개를 추가했기 때문에 600으로 지정했습니다.

3. 결과물

반응형