scaleform.minarto.com

CLIK 1 - Button 0 본문

CLIK

CLIK 1 - Button 0

미나토 2012. 2. 11. 14:51


scaleform.clik.controls.Button class 부터 보겠습니다.

사실 이름을 보면 알 수 있듯이 플렉스의 Button Component 와 크게 다를 것은 없습니다. 다른게 있다면...

1. 라이브프리뷰를 제공하지 않습니다
2. Sprite 가 아닌 MovieClip 을 상속받습니다.
3. 몇몇 속성과 메소드가 없습니다.
4. 몇몇  속성과 메소드 이름이 다릅니다
5. 게임 UI에 활용하기 위한 몇몇 속성과 메소드가 추가되어있습니다
6. 몇몇 속성과 메소드는 이름은 같지만 사용되는 방법이 다릅니다.

Inspectable 메타태그로서 Flash IDE 에 노출되는 속성값만 살펴보겠습니다.
Flash IDE 에는 component parameters 라고 쓰여져있는 판넬에 있습니다.

참고를 위해  http://flexdocs.kr/docs/flex2/langref/langref.html 를 연결해두긴 했지만, 위에 언급했듯이 Flex 와는 다른 점이 있다는 것을 염두하시기 바랍니다. 똑같았다면 제가 따로 포스팅을 할 필요도 없겠죠.


1. data:Object = "" (flex)

데이터 저장소라고 보시면 됩니다. 예를 들어 툴팁에 관한 내용을 저장해뒀다가 롤오버시 해당데이터를 불러서 툴팁을 뿌린다던가 하면 되겠죠. (Flex 와 달리 툴팁 속성이 따로 업습니다)
오브젝트 형태이기 때문에 뭐든 받을 수 있으나, IDE 상으로는 String 만 넣을 수 있겠죠??



2. autoRepeat:Boolean = false (felx) 

예를 들어서 숫자를 늘리는 버튼을 클릭한다고 했을 때, 1에서 10까지 늘리기 위해 10번을 클릭할게 아니라 누르고 있으면 자동으로 디스패치가 발생합니다.
참고로 이때 발생하는 이벤트는 scaleform.clik.events.ButtonEvent.CLICK 이벤트("buttonClick")입니다.


3. enabled:Boolean = true  (flex) 

버튼 활성화(MouseEvent, KeyboardEvent 등의 이벤트를 적용하는지)에 대한 여부라고 보면 됩니다
버튼을 활성화할 필요가 없다면 mouseEnabled 가 false 처리가 되어 속도가 향상됩니다.


4. focusble:Boolean  (flex) 

탭으로 이동하는 포커스에 포함시킬지입니다.
포함시킬 필요가 없다면 false 로 해두어야 tabChildren, tabEnabled 가 false 처리되어 속도의 향상이 옵니다.
당연한 얘기지만, 참고로 Button class 는 mouseChildren 이 false 로 처리되어 있어서 자식 InteractiveObject 들은  MouseEventKeyboardEvent 등의 이벤트를  적용할 수 없습니다


5. toggle:Boolean = false  (flex) 

버튼을 온오프 형식으로 적용할지의 여부입니다


6. selected:Boolean = false  (flex)  

토글 버튼일 때, 버튼이 선택(클릭)되어 있는 상태로 적용할지의 여부입니다
값을 변경할 때마다 Event.SELECT 가 발생합니다


7. label:String = ""  (flex) 

버튼에 쓰여지는 텍스트입니다


8.  autoSize:String = TextFieldAutoSize.NONE 

텍스트의 정렬방식입니다
TextFieldAutoSize.NONE, TextFieldAutoSize.LEFT, TextFieldAutoSize.CENTER, TextFieldAutoSize.RIGHT 가 있습니다.


9. visible:Boolean = true  (flex) 

보일지 안보일지겠죠??