어도비의 플래시와 플렉스는 디자인과 개발 관점에서 풍부한 사용자 경험을 제공하는 리치 인터넷 애플리케이션을 효율적으로 제작할 수 있는 기술이다. 액션스크립트는 이 같은 플래시와 플렉스 기술의 뿌리가 되는 프로그래밍 언어로서, 전세계 거의 모든 사용자 PC에 설치되어 구동되는 어도비 플래시플레이어에서 작동한다. 초창기 액션스크립트는 플래시의 무비클립을 제어하는 스크립트로 사용돼왔다. 그러다가 플렉스가 나오면서 액션스크립트는 플렉스 컴포넌트를 만드는 프로그래밍 핵심 언어로 부상하게 된다. 액션스크립트는 2008년 버전 3로 업그레이드 되면서 플래시플레이어 API, 디스플레이리스트 API, 2D 그래픽 API, 플렉스 컴포넌트 API, 멀티미디어 API 그리고 추후 3D API까지 추가되어 객체지향 프로그래밍 언어로 탈바꿈했다.
이제는 액션스크립트를 배우면 순수하게 코드만으로 플래시 게임, 배너, 애니메이션, 기업의 브랜드, 상품 홍보 등 사용자 경험(UX, User eXperience)을 향상시킬 수 있는 리치 인터넷 애플리케이션(RIA, Rich Internet Application)을 만들 수 있다. 또한 성능 면에서도 좀더 가볍고 빠르면서 재사용성이 용이한 플래시/플렉스 컴포넌트를 만들 수 있다.
이 책은 액션스크립트의 기초 문법부터 시작해서, 컴포넌트 라이브러리 활용, 2D 그래픽을 위한 드로잉 API, 비트맵, 이펙트, 스크립트 애니메이션, 3D 그래픽 그리고 서버 네트워킹까지 액션스크립트 API가 제공하는 거의 모든 기능을 체계적으로 섭렵할 수 있도록 내용을 구성했다. 무엇보다도 각 기능을 모두 코딩하지 않고도 눈으로 쉽게 이해할 수 있도록 모든 소스코드를 넣고 풀컬러의 실행결과 화면을 넣었기 때문에 더욱 쉽고 빠르게 액션스크립트를 이해할 수 있을 것이다. 그리고 기술적으로는 플래시(MovieClip)와 플렉스 컴포넌트(UIComponent)를 만드는 베이스가 되는 스프라이트(Sprite) 클래스를 활용한 예제로 구성되어있어 플래시와 플렉스 두 가지 모두에 적용할 수 있다.
입문자의 경우 액션스크립트의 기초지식부터 2D 그래픽, 스크립트 애니메이션, 3D 그래픽까지 섭렵할 수 있도록 단계적으로 구성되어 있다. 프로그래밍을 처음 배우는 학생들의 경우 프로그래밍의 기본인 알고리즘과 데이터구조를 비롯한 객체지향 프로그래밍의 진수를 맛볼 수 있을 것이다.
플래시, 플렉스 개발자의 경우 액션스크립트가 제공하는 거의 모든 API의 사용법이 예제들과 함께 수록되어 있으므로 실전 프로젝트 응용을 위한 참조용 라이브러리로 활용할 수 있다. 또한 로우레벨 드로잉 API와 이벤트의 활용법이 수록되어 있어 보다 가볍고 커스터마이즈된 컴포넌트를 만드는 데에 활용할 수 있다.
게임, 3D엔진, 그래픽 처리 애플리케이션을 만드는 전문 액션스크립트 개발자를 위해 다른 책에서 심도있게 다루지 않지만 고수급 개발자들이 사용하는 액션스크립트 API에 대해서는 정확한 동작을 이해할 수 있는 예제와 함께 활용방법을 수록했다.
이 책을 이해하기 위한 선수지식은 웹과 플래시가 어떻게 돌아가는지 이해하는 수준이면 된다. 중요한 것은 화려하고 역동적인 플래시의 다양한 응용 애플리케이션을 코드를 이용해 내것으로 만드려는 열정이다. 그리고 이를 코드로 표현하기 위한 통찰력과 상상력이 있는 개발자라면 누구나 환영한다.
플래시와 플렉스 기술의 뿌리가 되는 프로그래밍 언어인 액션스크립트의 기초 문법부터 시작해서, 컴포넌트 라이브러리 활용, 2D 그래픽을 위한 드로잉 API, 비트맵, 이펙트, 스크립트 애니메이션, 3D 그래픽 그리고 서버 네트워킹까지 액션스크립트 API가 제공하는 거의 모든 기능을 체계적으로 섭렵할 수 있는 진정한 바이블. 눈으로 쉽게 이해할 수 있도록 모든 소스코드를 넣고 풀컬러의 실행결과 화면을 넣었기 때문에 더욱 쉽고 빠르게 액션스크립트를 이해할 수 있다.
크게 기초부터 응용까지 4부로 구성되어 있으며 전체는 12장이다.
1부 액션스크립트 준비 코스
1장 액션스크립트의 첫 걸음
액션스크립트를 처음 배우는 사람들을 위해 액션스크립트를 어디에 쓰는 건지를 살펴보고 액션스크립트와 관련된 배경지식을 배운다. 그리고 처음 프로그래밍에 입문하는 분들을 위해 액션스크립트 프로그램의 제작과정과 공부방법에 대해서 알아본다. 또한 기존 사용자를 위한 액션스크립트 3 마이그레이션 가이드도 담았다.
2장 액션스크립트 프로그래밍의 기본
액션스크립트 프로그래밍을 위한 개발환경을 설정한다. 기본적인 화면 구성을 위한 좌표개념과 액션스크립트의 직선, 원, 사각형 등 기본 드로잉 기법을 배우고 액션스크립트 코드를 컴파일해 배포하는 방법도 함께 배우게 될 것이다.
2부 액션스크립트 초급 코스
3장 액션스크립트의 문법
액션스크립트 코드를 자연스럽게 익힐 수 있도록 코드에 자주 등장하는 단어들의 의미를 살펴보고 프로그래밍 언어로서의 문법적 특징, 클래스로 만드는 법 그리고 변수와 배열에 대해 다룬다.
4장 연산자와 데이터 처리
액션스크립트에서 사용되는 모든 연산자와 연산자 적용 시 데이터 타입 관련 고려사항에 대해 다룬다. 그리고 컴퓨팅의 기초가 되는 비트와 바이트 개념과 이것이 어떻게 그래픽, 애니메이션에 적용될 수 있는지를 비트단위 연산자를 통해 배운다.
5장 알고리즘과 데이터 구조
액션스크립트에서 프로그램 처리 흐름을 제어하는 모든 방법과 알고리즘에 기초가 되는 프로그래밍 로직 제어 패턴을 다룬다. 그리고 프로그래밍에서 데이터의 기본이 되는 배열의 사용법과 웹 애플리케이션에서 주로 사용되는 XML 데이터의 처리 방법을 다룬다.
제3부 액션스크립트 중급 코스
6장 객체지향 프로그래밍의 정석
액션스크립트의 객체지향 코딩의 장점과 특성을 이해할 수 있도록 단계별로 쉬운 예제들을 제공한다. 액션스크립트의 객체지향적 특징과 활용, 그리고 액션스크립트 에러처리와 이벤트의 처리 방법에 대해서도 다룬다.
7장 디스플레이 리스트
액션스크립트의 화면을 구성하는 방법으로서 효과적인 화면을 구성하기 위한 필수 개념인 디스플레이 리스트를 구성하는 컴포넌트 종류와 사용법, 디스플레이리스트 API에 대해 다룬다.
8장 유저 인터랙션
유저 인터랙션은 유저로부터 마우스나 키보드의 입력을 처리하고 유저의 동작과 관련된 이벤트를 감지하고 제어하는 프로그래밍의 핵심 기술이다. 여기서는 마우스, 키보드, 텍스트필드, 버튼을 이용하여 유저 인터랙션과 관련된 이벤트와 정보를 제어하는 방법과 콤보박스, 체크박스, 라디오버튼, 토글 버튼 등 응용 컴포넌트를 만드는 방법을 다룬다.
9장 그래픽 드로잉 테크닉
드로잉 API를 사용해 선, 면, 칠하기와 여기에 이펙트를 적용해 다양한 모양과 효과의 유저 인터페이스를 그리는 방법을 다룬다. 2D그래픽의 핵심인 Geometry패키지의 클래스들과 매트릭스(Matrix), 비트맵(Bitmap) 클래스의 사용법과 필터와 마스크의 사용법을 다룬다.
4부 액션스크립트 상급 코스
10장 액션스크립트 코드 애니메이션
코드 애니메이션은 코드를 이용해 움직이는 화면(게임, 애니메이션)을 만드는 액션스크립트의 응용 기술이기 때문에 지금까지 배운 그래픽, 이벤트, 데이터, 알고리즘이 다양하게 응용된다. 여기서는 액션스크립트에서 사용하는 코드애니메이션의 원리와 여기에 관련된 속도, 가속도, 충돌, 회전 등의 수학, 물리학적 개념과 응용방법을 함께 다룬다.
11장 플래시 3D 그래픽
이 장에서는 3D 그래픽을 위해 xyz 좌표계부터 플래시플레시어 버전 10부터 추가된 3D 관련 API, 3D에서 일어나는 효과, 벡터를 이용한 입체 그래픽 그리고 3D상의 모션 기법들을 배운다. 이 장에서 다루는 예제는 모두 플래시플레이어 10이상에서 작동하니 컴파일러 설정을 반드시 플래시 플레이어 10 이상으로 맞춰 놓아야 한다.
12장 플래시플레이어 & 서버 인터랙션
사용자로부터 비디오, 사운드를 웹캠이나 마이크를 써서 입력 받는 방법, 플래시플레이어의 설정과 보안과 관련된 중요한 개념을 배울 것이다. 또한 소켓을 이용해 채팅이나 게임 엔진으로부터 데이터를 받는 방법, 로컬 PC가 아닌 웹 서버 같은 서버에 파일이나 데이터를 불러오거나 서버와 통신하는 여러 방법들을 배울 것이다.
부록 CD
이 책에 들어있는 모든 예제의 소스코드 실행 파일과 플렉스 SDK가 수록되어 있다.