본문 바로가기

Flash Programming 란?

Flash/Flex AS3 - Flash 프로그래밍이란? Part.1


  예전부터 간간히 써오던 문서를 블로그에 올리기 시작하였습니다. 문서의 내용이 Flash 프로그래밍의 기초를 다루고 있고 제가 예전에 썼던 "동강의 AS3.0 강좌" 의 내용을 자세히 풀어 썼다고 보시면 될것 같습니다. 처음 Flash 공부를 시작 하시는 분들에게 도움이 되었으면 하네요. 문서 내용에 대한 질문은 댓글로 달아 주세요.

 

  • Flash 프로그래밍이란 ?

 

 새롭게 Flash 를 배우려고 하시는 분들은 Flash 버젼은 뭐가 있고 언어는 뭘로 시작해야 하는지 막막 하실 겁니다. 우선은 Actionscript3.0 학습법을 읽고 본 문서를 보는 것을 추천 드립니다. 그러면 자연스레 AS3.0 과 Flash CS3 이상의 Flash IDE로 공부를 해야 겠다는 마음을 먹으실 겁니다. 본 문서는 Flash CS4 로 진행 됩니다.

 

 

 예전에 쓴 문서를 보면 왜 Actionscript3.0(이하 AS3.0) 을 사용해야만 하는가에 대해 다루고 있습니다. 하지만 AS2.0 보다 좋다는 것을 알았다고 해서 그동안 편리하게 사용해왔던 AS2.0에서 AS3.0으로 옮기기란 여간 힘든 일이 아닙니다. 저 또한 AS1.0, 2.0을 사용하여 Actionscript 프로그래밍을 시작해서, AS3.0으로 옮기기까지는 적지 않은 노력을 해야만 했습니다.

 

 Flash 프로그래밍은 이미 많은 개발자들이 사용하고 있는 C, C++, Java 보다 쉬워 보이면서 접근하기 어려운 면을 가지고 있습니다. 물론 개인적인 차이도 있겠지만, 제 주위에는 Java를 하던 C 를 하던 AS는 프로그래밍 언어 이면서 조금 다른 느낌이 난다고 어려워 하는 사람들을 보았습니다. 디자이너나 타언어의 개발자들이 Flash 프로그래밍을 어렵다고 생각하는 이유는 무엇일까요? 바로 Timeline 이 존재하기 때문입니다. 일반 언어와는 다르게 시간의 흐름에 따라 이벤트가 발생하고 애니메이션이 움직이는 Timeline 의 존재가 있기 때문에 다들 어렵다고 합니다. 하지만 이러한 Timeline 이 있기 때문에 Flash 프로그래밍이 가능해 지는 것이고, 모든 Actionscript(이하 AS)의 원리는 이 Timeline에서부터 시작하게 됩니다.

 

 Flash CS4를 실행 시키면 흰색 캔버스가 눈에 들어옵니다.

 

 

앞에서 Flash는 Timeline을 가지고 있다고 말 하였는데, 위 그림 하단에 보이는 것이 바로 Timeline입니다. 이곳에 애니메이션을 적용하거나, Flash CS4에서 제공하는 많은 툴 작업을 통해 간단하게 플래시 애니메이션을 적용시킬 수 있는 공간입니다. 이 공간은 단지, 애니메이션을 위한 공간으로서 존재 하는 것은 아닙니다. Timeline 이 존재 하므로 Actionscript를 사용하지 않아도 화려한 모션이라든지, 간단한 인터렉티브가 가능해 집니다. (타임 라인에 코드 삽입도 가능합니다 )

 

  • Frame rate

 

Flash에는 Timeline이 존재함과 더불어 FPS(framerate)를 통해서 Flash가 SWF로 컴파일 됐을 때 렌더링 속도를 조절하는 방법을 제공해 주고 있습니다. 아래 그림에서 오른쪽에 FPS : 24.00 부분에서 이 속성을 조절할 수 있습니다.

 

 FPS 가 24 라는 의미는 1초에 24 프레임이 이동하는 속도로 렌더링을 하겠다는 의미입니다. 애니메이션에서 그림을 24 프레임으로 처리 했다는 의미와 같습니다. 이 FPS 는 보통 24~36 frame 으로 조절하여 사용합니다. 숫자가 커질수록 처리에 사용하는 프레임을 많이 사용하겠다는 의미이고 컴파일 된 SWF 는 더욱 부드러운 느낌을 줍니다. 반대로 작아질수록 화면이 자연스럽지 않고 끈기는 느낌을 주게 됩니다. 이러한 FPS를 조절하는 것은 작업자의 몫입니다. 물론 FPS를 높게 하여 더욱 부드러운 느낌을 주면 좋겠지만, FPS를 높게 설정 할수록 단위시간당 처리해야 되는 프레임 수가 늘어나므로 SWF가 요구 하게 되는 CPU 사용량을 증가 하게 됩니다. 더욱이 SWF는 주로 html 에 올려 웹에서 보여 지는 경우가 많기 때문에 FPS를 잘 설정 하여 테스트 하는 것이 중요합니다. 이 속성은 작업자가 fla파일 자체에서 컨트롤 할 수도 있지만 AS를 이용하여 동적으로 조작하는 것도 가능합니다. frameRate라는 속성을 조작하여, SWF가 전반적으로 CPU를 적게 차지하고 있을 때는 frameRate(fps)를 높게 주어 부드럽게 동작 시키고, 데이터를 불러 오는 작업이나, 한번에 많은 모션이 동작할 때에는 CPU의 부담을 덜어 주기 위에 frameRate는 줄이는 방법을 사용하기도 합니다.