블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

제목엔 2.7로 적었지만, 이번에 NGUI 2.6.4에서 3.0으로 업그레이드 하면서 수정해줘야 될 사항들 간단 정리..

아는데까지만 정리하는 거라 빠지는것도 있음.

새로 알게 되면 추가해야 될 듯..



[UICheckBox]

- UICheckBox -> UIToggle

- UICheckBox.isChecked -> UICheckBox.value

- Checkbox State == UIToggle.current.value

- 더이상 root(GameObject)를 설정안함 -> Group ID(Index)를 직접 셋팅하는 방식으로 변경. 


[UIButtonSound]

- UIButtonSound -> UIPlaySound


[UISprite]

- UISprite 통합(Filled/Sliced/Tiled 등은 내부 메뉴로 바꼈다)

   = UIFilledSprite -> UISprite

   = UISlicededSprite -> UISprite

   = UITiledSprite -> UISprite

- UISprite의 Scale 값이 텍스쳐 크기였던 것이 기본 Scale 1로 바뀌고, Dimensions가 생겨서 여기서 크기를 지정한다. 


[UILabel]

- UILabel의 Scale 값이 폰트 크기였던 것이 기본 Scale 1로 바뀌고, Dimensions가 생겨서 여기서 크기를 보여주지만, 폰트는 Dimensions 조절이 불가능..

- 넓이(width) 제한은 Dimensions의 width 값으로 조절.
- 라인제한은 UILabel-Max Lines 로 조절(0은 무제한,자동조절)
- Label 크기 조절은 Overflow : ShrinkContent 로 바꾼 후, Dimensions를 조절(Scene View에서 Label의 외곽 파란 동그라미를 잡아서 조절해도 됨)
- Label 크기 조절은 Overflow 종류에 따른 사용법을 좀 더 알아봐야 할 듯..
- 우선 Label 크기 조절은 Overflow : Resize Freely 로 선택한 후, Transform-Scale 조절로..

[UIPanel]

- UIPanel에 depth가 생겼다. Panel의 depth끼리 대분류가 되고, Widget의 depth가 소분류로 나뉜다.

  결과적으로 패널 단위로 분리가 되고, 한 패널 안에서만 위젯들의 depth를 관리해주면 되게 되어서 depth 관리가 편해졌다.(Good)

- Panel끼리는 동등한 위치이기 때문에, Tree Node 상 하위에 있는 Panel이라도 모두 맞게 셋팅해 줘야 된다.

- depth 관리가 되기 때문에 이제 Label을 보이기 위해 넣었던 Panel은 빼도 된다(-z값도 빼도 될듯하다. Collider사용을 위해서 넣었다면 유지..)


[Atlas]

- Atlas를 NGUI에서 통합관리 하게 바꼈다. 결과적으로 아틀라스가 다름으로 인해서 생기는 depth 관리문제가 사라졌다.(Font Atlas 포함)(Good)


[Common]

- checkbox.onStateChange += OnCheckboxState -> EventDelegate.Add(checkbox.onStateChange, OnCheckboxState);

- 여러 번 실행되는 곳에서도 한 번만 등록하려면..

  = checkbox.onStateChange += OnCheckboxState -> EventDelegate.Add(checkbox.onStateChange, OnCheckboxState, true);

- checkbox.onStateChange = OnCheckboxState -> EventDelegate.Set(checkbox.onStateChange, OnCheckboxState);

- checkbox.onStateChange -= OnCheckboxState -> EventDelegate.Remove(checkbox.onStateChange, OnCheckboxState);

- 'Make Pixel Perfect' 버튼 -> Widget Component의 'Correct' 버튼으로 대체.

- widget의 크기를 transform.scale로 표현하던 것을 widget.width/widget.height로 대체.

- Prefab도 새로 체크해줘야 함.

- Widget들이 바뀌면서 Atlas도 새로 저장해줘야 된다. Widget 정리하면서 저장할 때 Atlas 저장할지 물으면 저장하고 업데이트 시키자.


[참조]

http://www.tasharen.com/forum/index.php?topic=11.msg27296#msg27296


3.0.0 has been released. Upgrade-centric video:
http://www.youtube.com/watch?v=uNSZsMnhS1o&list=UUQGZdUwzE8gmvgjomZSNFJg

Beginner / overview video:
http://www.youtube.com/watch?v=OT0hTxjjkY4&list=UUQGZdUwzE8gmvgjomZSNFJg

Scroll view example (because it was requested):
http://www.youtube.com/watch?v=OiA4o8KqBFI&list=UUQGZdUwzE8gmvgjomZSNFJg

반응형
Posted by blueasa
, |