게시판 쭉 둘러보다가, 생각했는데요.
삼지창을 이용하면 HTML을 이용해서 간단하고 멋있게 스킨을 제작할수 있을 것 같다는 생각이 들었습니다.
HTML을 이용하면 스킨구현이 매우 쉬워지더라고요.
기존의 스킨은 ㅎ버튼이나 ㅎ밑판 등으로 꾸미고 ini에다가 스킨설정을 담는 방식이었죠.
그리고 기존 방식의 가장 큰 단점은 매우 제한적이라는 겁니다. 자유롭게 버튼의 위치나 구성등을 바꿀수가 없었죠. 간단하게 색상이나 바꾸고 그림이나 바꾸어주는 것이 기존 스킨의 전부였죠. 즉, 재생버튼과 정지버튼은 항상 그 위치에 있고 단순히 재생버튼과 정지버튼의 색상정도만 바꾸는 수준이었죠. (물론 객체들의 위치들을 자유롭게 바꾸도록 구현 할수는 있겠지만 매우 노가다적인 작업이 뒤따르겠죠.)
그런데 HTML을 이용하면 그런 제한이 없어진다는 겁니다.
다시말해 매우 유동적인 UI가 가능해진다는 겁니다. 기존의 방식으로는 재생버튼와 정지버튼은항상 그 자리에 있어야만 했고, 스킨이라고 해봤자 색상을 바꾸는게 고작이었지만, HTML방식을 사용하면 재생버튼의 위치도 자기가 마음대로 할수 있고, 색상은 물론이며 크기도 자유자제로 구성할수 있다는 것이 매우 큰 장점입니다.
HTML을 만들면 바로 스킨이 제작되는 거죠.
그렇다면 어떻게 창조와 통신을 할까요?
제가 소스자료실에 올렸던 간단한 연동예제가 있습니다.(
http://cugz.sjworks.net/bbs/zboard.php?id=pds_sc&no=775)
저건 매우 초보적인 수준이지만 통신은 할수 있었죠.
각각의 버튼마다 고유의 주소를 부여하는 겁니다.
http://player.play
http://player.stop
http://player.next
http://player.volumeUp
등등의 고유의 스킨주소를 부여하는 겁니다. 그래서 창조의 삼지창에서는 주소의 변화를 감지해서 각각에 맞는 동작을 수행하는 됩니다.
그런데 아직은 완벽하지 않습니다.
오늘 구현하려고 했는데 아래와 같은 장애가 있었습니다.
1. 창 이동에 문제가 있다.
창조에서 [창틀무] 상태라면 마우스를 누를때, 땔때 등을 이용하면 얼마든지 창을 이동할수 있습니다만. 삼지창을 사용하면 못하는 겁니다.
별도로 이동Bar 을 만든다면 모를까 삼지창을 이용해서는 마우스를 누를때, 땔때를 구현할수 없습니다.
물론 onmouserdown, onmoseup 등의 이벤트가 있지만 잘 안되더라고요.
혹시 잘 구현 가능하신 분은 예제를 올려주시면 고맙고요^^
2. 가사(LRC)지원 문제.
최근에 권선중님, paintj님께서 플레이어를 제작하시고 있고, 또 가사 지원도 하는데요, 창조라면 ㅎ시계 등을 사용하거나 하면 가사창을 만들어서 구현할수는 있겠지만, 삼지창을 이용하면 가사창을 어떻게 구현할까라는 겁니다. 아직 삼지창에서는 웹페이지에서 가져오는 것은 가능한데, 웹페이지에 집어넣는것을 어떻게 할까입니다ㅠ 삼지창에서 HTML수정기능이나 DOM등등을 제어할수 있다면 가능해질겁니다~^^