IT는 개발자

스크롤뷰 만드는 방법 본문

unity

스크롤뷰 만드는 방법

뚜둔64 2020. 4. 11. 15:49

🎈스크롤뷰 만드는 방법


1. 판넬을 만든다
2. 판넬안에 ScrollRect범위로 쓰일 판넬을 만든다(ScrollRect & mask 컴포넌트 추가 예정)
3. ScrollRect 판넬 안에 Contents를 담을 Panel을 만든다(GrideLayout & Content Size Fitter 컴포넌트 추가 예정)
4. Contents 판넬 안에 담길 버튼들을 만들어준다.
5. Contents 판넬에 그리드레이아웃을 추가해 버튼들의 Layout을 조정할 수 있다.
6. ScrollRect판넬에 mask 컴포넌트를 추가해 넘어간 버튼이미지를 가릴 수 있다
7. ScrollRect판넬에 ScrollRect 조건을 추가해 Content부분에 Content판넬을 넣어준다.
8. Content 판넬에 ContentSizeFitter를 추가해 VerticalFit 조건을 MinSize로 수정하면 스크롤이 되돌아 가지 않게된다.
9. UI Scrollbar를 생성한다.
10. ScrollRect 판넬에 스크롤렉트 컴포넌트에 Scrollbar를 넣어준다.

 

🎈Viewport를 가진 panel 만들기

1. ScrollView 판넬을 만들어준다(ScrollRect속성을 가지고 있다)
2. ScrollView 판넬 안에 Viewport 판넬을 만들어준다(mask속성을 가지고 있다)
3. Viewport 판넬 안에 Content(Rect만 가짐)를 만들어주고 Vertical Layout속성과 ContentSizefilter 속성을 만들어준다

4. 내용에 넣어줄 item 을 prefab으로 만들어준다

( ScrollView 판넬 안에 스크롤 영역도 만들어준다. )

 


5. public Transform ItemPos;
여기서 itemPos는 Content를 가져온다
6. public GameObject ItemObj;
내용에 들어갈 item prefab을 가져온다

7.
var obj = Instantiate(ItemObj);
obj.transform.SetParent(ItemPos.transform);
obj.transform.localScale = new Vector3(1, 1, 1);

한줄씩 itemObj를 만들 수 있다.

8. obj.transform.Find("name").gameObject.GetComponent().text = "<color=#000000>" + json["item"][i]["dutyName"].ToString();

ItemObj에 들어있는 name속성을 찾아서 받아온 값을 넣어어준다.

 

출처: https://youtu.be/xLGDKtMpOUM

'unity' 카테고리의 다른 글

Raycast  (0) 2020.04.11
sprite 크기(size) 조정 방법 - unity  (0) 2020.02.12
unity 함수  (0) 2020.01.31
unity 컬렉션과 오브젝트 풀링(collection / Object Pooling)  (0) 2020.01.21
unity 상속과 다형성  (0) 2020.01.21
Comments