ADOBE/ ActionScript

[AS] Flash 의 Button Component 를 살펴보고...

AlrepondTech 2011. 11. 24. 20:54
반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

출처: http://wrice.egloos.com/4548734

오늘 또 Flash9을 열심히 공부했습니다.
오늘은 Component 들 (특히 버튼)을 중점적으로 살펴 봤는데요.
결론부터 말하면, 전반적으로 잘 만들어져있는것은 사실이지만
Component쪽의 구성은 좀 복잡하다는 느낌이 들었습니다.

오늘은 특별히 버튼 Component를 살펴 봤습니다.

Flash의 버튼(Component) 구현에 대해...

예를 들어 버튼 같은 경우에, 하나의 버튼을 완성시키기 위해서는
버튼의 '보통때 그림'이랑,
마우스가 올라가 있을때의 모양이랑,
버튼에 클릭했을때 눌려있는 모양이랑,
버튼이 확실히 눌렸을때 모양등의 그림이 필요합니다.
그밖에도 버튼이 눌렸던것이 취소되었을때의 반응이나
강조표시가 되어있을때의 모양, 비활성화 되어있을때의 모양등
생각해보면 상당히 많은 추가 모양들이 있습니다.
이런 복잡한 관계에 대해 각각의 그림들을 연결시키는 방법이
제가 예전에 Ui툴 만들었을때도 꽤 깔끔하지 못했었는데
여기 Flash에서도 마찬가지로 상당히 복잡했습니다.



예를 들어 버튼을 하나 라이브러리에 추가 시키면,
Component Assets이라는 폴더가 강제로 추가되는데
여기에 모든 그림 정보등이 들어가 있는 것입니다.
(Component라는 용어는 '버튼', '체크박스', '리스트 박스', '스크롤바', '텍스트 입력 박스', '리스트' 등등을 통칭하는 용어입니다.)
근데 그 안을 열어보면 알수 없는 용어들이 마구 등장해서
말하자면 "이 폴더는 열어보지 마시오" 같은 느낌입니다.

스샷을 보시면 _private이라는 폴더는 느낌부터가 '건드리지 마시오'라는 느낌이고,
avatar라든지 Shim이라는 단어는 어디에서 쌩뚱맞게 튀어나온 개념인지 알수 없습니다.
ButtonSkins안을 열어보면 매우 긴 이름의 이미지 파일들이 있고
'무비 탐색기'를 열어서 보면 내부적으로는 더욱 복잡하다는 것을 확인 할수 있습니다.

스 샷을 보면 버튼 Component 안에 assets 라는 폴더가 있고 asset names라는 것이 있고, avatar, compoentShim등의 알수 없는 것들이 잔뜩 있습니다. 게다가 Frame1와 Frame2가 나뉘어있는 것은 지금도 왜 이렇게 되어있는지 알수가 없습니다. (제가 봤을때는 Frame1 한개만으로 충분히 될것같은데 말입니다.)
스샷에서 보여지는 "My Button" 왼쪽에 있는 아이콘 그림이 주는 느낌도 역시 "이건 건드리지 마시오" 라는 느낌입니다.

내부 구성은 제가 봤을때는
가장 높은 단위로 Asset이라는 개념이 있고 (일종의 추상 클레스),
그 아래에 'Symbol', "Folder', 'Text', 'Sound', 'Movie' 그리고 'Component' 정도가 상속되고 있는것 같습니다.
그리고 여기에 Symbol은 다시 세가지로 상속되는데 Movie, Graphic, Button입니다.

복잡해지는 것은 Symbol에서 말하는 Button과 Component에서 말하는 Button이 다른 개념이라는 점입니다. 아마도 후자의 것이 나중에 추가된 개념인것 같습니다.

(나중에 추가된 것으로 짐작되는) Component의 버튼 쪽을 좀 더 자세히 살펴보면
요런 모양의 버튼(여러 Component들중의 하나)입니다.

이것을 더블 클릭하면 안으로 들어가서 버튼에 대한 여러 그림들을 편집할수 있는데 이런 화면입니다.



버튼 하나를 표현하는데 10가지의 그림이 필요하다는 것이지요.
근데 이 각각의 이미지들을 더블 클릭하면 각각의 그림을 편집할수 있는데 이것입니다.

그 림에서도 보여지는 것과 같이 하나의 이미지가 9 등분되어있습니다. 이유는 간단합니다. 버튼 안에 들어가는 텍스트의 크기에 따라 버튼이 늘어날 것을 고려한 것입니다. 그래서 각 테두리에 표현된 라운딩이 찌그러지지 않도록 보호하는 것이지요. (저도 요렇게 9등분하는 버튼을 구현했었습니다.)

여기까지가 제가 오늘 조사한 Flash안의 버튼 구현입니다.

제 생각을 좀 더 덧붙이면, 버튼 속성을 편집하는게 너무 난잡하다는 느낌입니다.
속성 편집을 하는 panel 이 '속성'이라는 것이 있는데,

여기에서는 버튼에 대한 속성 편집은 사실상 불가능합니다.
그래서 Component Manager 라는 특별한 panel 이 등장합니다.



근데 문제는 여기에서도 버튼에 대한 그림 정보는 편집이 안되는 것입니다.
그래서 '심볼 편집' 화면으로 넘어가야 하는데
여기에 사용되는 인터페이스는 다른 심볼 편집 방법들과는 완전히 다른 방식이기 때문에 인터페이스의 통일성을 잃어버립니다.
원래 심볼 편집 화면에서 편집한 화면은 나중에 심볼을 사용할때 화면상에 그대로 똑같이 나타나는게 일반적인데
Component편집시에만 별개의 인터페이스로 동작하는 것입니다.
나중에 버전이 올라가면서 땜빵해 넣었다는 증거이지요.

그래서 결론은
Component 관련 구현은 (기대를 많이 했으나) 역시 Flash라도 간단하게 구현 못했구나 하는 느낌입니다.
그리고 최소한 좀 더 간단하게 간소화 하는 개선의 여지는 있다고 보여집니다.

 

 

=================================

=================================

=================================

 

 

반응형