버튼의 컬러만을 가지고 상태를 표시하고 싶을 때, 방법이 없다.
status 값을 가지는 것은 버튼의 Transition이 sprite Swap 일 때 가능한데..
그렇다면 각 상태별 sprite 를 다 넣어주어야 하므로, 디자이너가 없는 경우에는 상당이 불편하다.
highlighted color, pressed color, disabled color는 마우스의 입력 상태에 따라 자동 적용되므로,
색깔을 바꾸어 봤자, 의미가 없다.
따라서 normal color를 임의로 사용자가 원하는 상태의 컬러로 변경해서 사용하는 방법이 유일한데..
normal 상태의 버튼 컬러를 변경하기 위해서는 ColorBlock 을 참조하여 대입 시키는 방법이 필수
코드는 다음과 같다.
Button tmpButton = tmpObj.GetComponent<Button>();
ColorBlock cb = tmpButton.colors;
Color newColor = Color.gray;
cb.normalColor = newColor;
tmpButton.colors = cb;
컬러로 버튼 상태 표시를 하는 기능에 대해 알아보았다.
다음엔 sprite로 상태 표시하는 기능에 대해 포스팅 해볼까 한다.
이상~
'코딩공부 > Unity3D' 카테고리의 다른 글
NGUI Android 4.4 kitkat crash (0) | 2017.02.22 |
---|---|
Unity3D Inputfield 대문자, 소문자 입력만 받기 (0) | 2017.01.11 |
[Unity3D] 싱글턴 패턴에서 인스턴스가 중복하여 생성되는 것을 방지하는 방법 (0) | 2016.05.13 |
[Unity3D] 싱글턴 패턴 사용법 (0) | 2016.05.13 |
[Unity3D] XML 데이터 저장하기, 불러오기 (0) | 2016.05.02 |