본문 바로가기

메모장/Unity

NGUI Button의 이미지를 변경 할때 주의사항

NGUI의 버튼에는 UISprite와 UIButton이 함께 들어있다.

 

UISprite가 있는 오브젝트에 UIButton을 생성할 경우 UIButton의 normalSprite가 자동으로 UISprite의 spriteName으로 초기화 된다.

hoverSprite, pressedSprite, disabledSprite는 따로 설정해주지 않으면 비어있으며, normalSprite가 default값이 된다.

다만 스크립트로 버튼의 Sprite를 바꾸려고 할 때, UISprtie의 spriteName을 변경할 경우, spriteName은 바뀌나, UIButton의 normalSprite는 바뀌지 않는다.

때문에, 버튼에 마우스를 올리거나 누르게 되면, 다시 원래의 이미지로 돌아오는 현상이 발생한다.

따라서 UIButton에 달려있는 이미지를 변경하기 위해서는 UIButton의 normalSprite를 바꿔주어야 한다. (UISprite는 자동으로 동기화 된다.)