Web Programming >> PHP Programming
|
[목차] |
제23장 Ming 라이브러리 사용하기
1. Ming의 구조 및 설치
웹 사이트를 만들 때 가장 신경 쓸 부분은 뭐니뭐니 해도 컨텐츠라는 것은 다시 강조할 필요가 업을 것입니다. 아무리 사이트의 디자인이 휘황찬란하더라도 컨텐츠가 부족한 사이트라면 다시 그 웹사이트를 찾지는 않을 것이기 때문입니다. 그렇지만 ' 기왕이면 다홍치마'라는 말에 휘둘려서인지 사람들은 최댛나 자신의 웹 사이트를 멋지게 만들어야 한다는 강박관념에 시달립니다. 자신이 만들어놓은 웹 사이트의 방문자가 적은 이유는 ' 아마도 디자인이 부실해서'라고 오해하는 경우가 일반적이죠. 하지만 컨텐츠가 풍부하고 쉽게 찾을 수 있는 사이트가 더 많이 북마크된다는 것 잊지 말기 바랍니다. 그러나, 풍부한 컨텐츠에 좋은 디자인이 가미된 사이트라면 좀 더 많은 사람들이 방문하겠죠. '좋은 디자인'과 '멋있는 디자인'이 같은 말이 될 수는 없겠지만, 어쨌든 멋있어 보이는 홈페이지를 위해 많은 사람들이 매크로미디어의 속웨이브 플래시(줄여서 플래시, 확장자는 .swf)를 사용하곤 합니다. 바로 여러분은 이번호에서 플래시 파일은 PHP에서 동적으로 만들 수 있는 클래스 라이브러리인 ming에 대해 배울 것입니다.
보통 저작도구로 만든 플래시 무비 파일은 일정한 애니메이션을 보여줄 수 있을 뿐입니다. '레이의 빙긋 웃는 모습'을 보고 싶은 사람에게 '전 아스카가 내숭떠는 모습만 만들었어요'라고 한다면 실망할 것이 분명하겠죠. '레이의 웃는 모습', '레이의 내숭 떠는 모습','아스카가 웃는 모습', '아스카가 내숭떠는 모습'등의 여러 플래시를 일일이 만드는 것이 아니라, 상화에 따라 자유롭게 조합한 플래시 무비를 PHP에서 처리해 보여줄 수 있다면 정말 근사할 것 같지 않나요.
PHP에서 플래시 파일을 만들 수 있는 라이브러리에는 libswf와 ming이 있습니다. libswf는 4.0RC2이상의 버전에서, ming은 4.0.5부터 정식으로 사용할 수 있습니다. 어느 족을 사용하든 상관없겠지만 저는 다음과 같은 이유로 ming을 아용하기 결정했습니다. ◆ ming은 오픈
소스 라이선스인 LGPL을 따릅니다. <화면 1>
ming의 공식홈페이지
글을 진행하기 전에 미리 양해를
구할 것이 있습니다.
간단하게 리눅스에서 rpm으로 설치하는 방법만 설명하겠습니다. (소스를 직접 컴파일해 사용하고 싶은 독자는 홈페이지의 설치 문서를 참조하기 바랍니다. 우선 다음 URL로 접속해 rpm파일을 다운 받은 다음 rpm -Uvh(다운받은 파일) 명령을 통해 설치하기 바랍니다. (물론 설치하기 전에 기존의 PHP는 지우기 바랍니다. http://rpms.arvin.dk/ming/ming-0.1.1.2.i586.rpm 설치가 끝나면 아파치를 실행시키는 것으로 일단 ming의 동작은 보장되지만, 그외 ming에서 지원하는 유틸리티는 아직 rpm패키징이 안된 상태이므로 컴파일이 필요합니다. http://www.opaque.net/ming/ming-0.1.1.tgz 앞의 Ming 공식 사이트에서 소스 파일을 다운로드한 다음 압축을 풀면 ming-0.1.1 디렉토리 밑에 util이라는 디렉토리가 생깁니다. 이 util 디렉토리로 옮겨 다음과 같은 명령어를 차례로 실행한 다음 생성되는 실행 파일을 원하는 디렉토리로 옮겨 사용하면 도비니다. (그냥 make를 입력하면 실행 파일이 무슨일을 하는지 친절하게 가르쳐줄 것입니다. )
tar xvfz ming-0.1.1.tgz
플래시 무비를 찍기 위한
스튜디오를 개설했으면 이제 '플래시 애니메이터'가 되기 위한 개념파악을 해야겠죠.
실제 애니메이션에서 필름의 물리적인 최소 단위를 프레임(Frame)이라고 합니다.
플레시 무비(SWFMoive) 역시 프레임의 정지된 영상이 담겨져 있는 것과 비슷하게
프레임을 일정한 간격으로 교체해 보여줌으로써 동영상을 보는 효과를 줍니다. 이런
프레임 속에 여러 장면을 담을 수 있는데 이것을 'Displayable Type'이라고 부르며
세이프(SWFShpe), 버튼(SWFButton), 텍스트(SWFText), 스프라이트(SWFSprite), 모드(Morph)등이
있고, SWFMovie의 객체는 이 Displayble 클래스를 SWFDisplay Item 이라는 핸들러
클래스를 사용해 관리합니다. <<그림1>참조>
Shape라는 단어는 모형틀, 판등의 뜻으로 해석이 가능하며, SWFShape라는 클래스는 실제 애니메이션을 제작할 때 사용하는 셀룰로이드나 그림을 그릴 때 사용하는 도화지 정도로 생각하면 됩니다. 실제로 도화지가 있다고 가정해 볼까요.
- kohy1님께서 정리해 주셨습니다. - |
[목차] |