Top

플래시 MX 액션 스크립트 [코딩에 몸서리치는 당신을 위하여]

  • 원서명Foundation ActionScript for Macromedia FLASH MX (ISBN 9781590591666)
  • 지은이Sham Bhangal, Ben Renow-Clarke
  • 옮긴이이강훈
  • ISBN : 8989975255
  • 24,000원
  • 2003년 05월 06일 펴냄
  • 페이퍼백 | 500쪽 | 188*240mm

책 소개

플래시 MX가 발표되면서 액션 스크립트는 웹 디자인 세계의 필수 기술이 되어 버렸다. 당신이 플래시는 조금 사용할 줄 알지만 코드라는 말만 들어도 몸서리치는 사람이라면, 게다가 남보다 뒤쳐지는 건 더더욱 싫어하는 사람이라면 이 책을 읽어야 한다.


이 책은 이전에 플래시에서 한 번도 코딩을 해본적 없는 독자를 대상으로 한다. 그리고 그런 독자들이 액션 스크립트를 매우 능숙하게 다룰 수 있는 경지에까지 이끌어준다. 매 장 아주 흥미로운 예제들이 준비돼 있으며 책의 후반부에는 꽤 큰 규모의 케이스 스터디인 웹 사이트 프로젝트까지 마련돼 있다. 이 책은 플래시 5 버전에 출시된 Foundation ActionScript를 조금 고쳐서 다시 출간한 책이 아니다. 플래시 MX는 버전 5에 비해서 액션 스크립트를 사용하는 방식이 크게 달라졌고, 이 책 역시 그 모든 것을 고려하여 완전히 새롭게 쓰였다.

이 책은 지나치게 프로그래머의 관점에서 서술해서 딱딱하거나 이해하기 어렵고, 반대로 지나치게 흥미 위주로 서술한 깊이 없는 책들 사이에서 흔치 않은 수준의 균형을 잡고 있다. 디자이너의 관점을 충분히 반영하여 배운 내용을 완전히 자기 것으로 소화할 수 있게끔 기본적인 내용부터 깊이 있은 개념에 이르기까지 실전 예제와 결합시켜 매우 상세하고 흥미롭게 설명한다.

저자/역자 소개

<저자 소개>

Sham Bhangal


Sham은 원래 컴퓨터 기반 디스플레이와 제어 시스템을 전공한 엔지니어 출신이다. 그는 시간이 나는 대로 웹 디자인 업무를 한다. 그건 원래 취미였는데 조금씩 실력이 늘어서 어느새 주 업무가 되어버렸다. 요즘에는 ‘friends of ED’의 책을 쓰는데 정신이 없으며, 웹 디자인 모든 영역에 걸쳐 종사하고 있다. Sham은 그의 아내 Karen과 함께 서머셋(Somerset)에 살고 있다.


Ben Renow - Clarke

www.keeki.com
Ben은 영국의 작은 마을에서 태어났으며 현재는 고향을 떠나서 살고 있다. 그는 최근에 매우 멋진 컴퓨터와 웹 도메인을 함께 구입했다. 그는 머잖아 둘 모두 쓰레기로 가득찰 것이라고 확신한다.


<저자 서문>

플래시 MX의 출시와 함께 액션 스크립트의 위치는 ‘배우면 더 좋은 기술’로부터 ‘반드시 배워야 하는 기술’로 이동하고 있다. 간단히 말해서 이제 액션 스크립트는 플래시의 가장 핵심적인 기능이다. 플래시 MX에서 발전된 요소 대부분이 스크립트와 관련되어 있다는 사실 역시 놀라운 게 아니다.

액션 스크립트는 프로그래머들이나 다룰 수 있는 무시무시한 코딩 작업인가? 그렇지 않다. 액션 스크립트의 진정한 의미는 당신의 디자인 작업에 더 강한 힘과 폭넓은 가능성을 부여한다는데 있다. 액션 스크립트를 배운다고 해서 당신이 0과 1만 사용해서 이야기하며, 밤이 되어서야 일하기 시작하는 그런 종류의 사람이 되어야 하는 것은 아니다. 액션 스크립트를 배우면 웹 디자인의 여러 가지 제약을 뛰어넘어서 진정 원하는 것을 만들어낼 수 있는 힘을 가지게 될 뿐이다.

이 책은 완전히 무(無)에서 시작한다. 당신이 액션 스크립트에 대해서 아무 것도 모르는 상태라고 가정한다. 그리고 조금씩 액션 스크립트의 기본적인 개념과 기술들을 쌓아올릴 것이다. 어느 순간 그러한 기술들이 더해지면 깜짝 놀랄만큼 창의적인 디자인이 탄생하는 모습을 목격하게 될 것이다.플래시 MX의 출시와 함께 액션 스크립트의 위치는 ‘배우면 더 좋은 기술’로부터 ‘반드시 배워야 하는 기술’로 이동하고 있다. 간단히 말해서 이제 액션 스크립트는 플래시의 가장 핵심적인 기능이다. 플래시 MX에서 발전된 요소 대부분이 스크립트와 관련되어 있다는 사실 역시 놀라운 게 아니다.

액션 스크립트는 프로그래머들이나 다룰 수 있는 무시무시한 코딩 작업인가? 그렇지 않다. 액션 스크립트의 진정한 의미는 당신의 디자인 작업에 더 강한 힘과 폭넓은 가능성을 부여한다는데 있다. 액션 스크립트를 배운다고 해서 당신이 0과 1만 사용해서 이야기하며, 밤이 되어서야 일하기 시작하는 그런 종류의 사람이 되어야 하는 것은 아니다. 액션 스크립트를 배우면 웹 디자인의 여러 가지 제약을 뛰어넘어서 진정 원하는 것을 만들어낼 수 있는 힘을 가지게 될 뿐이다.

이 책은 완전히 무(無)에서 시작한다. 당신이 액션 스크립트에 대해서 아무 것도 모르는 상태라고 가정한다. 그리고 조금씩 액션 스크립트의 기본적인 개념과 기술들을 쌓아올릴 것이다. 어느 순간 그러한 기술들이 더해지면 깜짝 놀랄만큼 창의적인 디자인이 탄생하는 모습을 목격하게 될 것이다.


<역자 소개>

이강훈 zoi@3map.snu.ac.kr

서울대 전기쪾컴퓨터 공학부 그래픽스 연구실에서 박사 과정을 수학하고 있으며, 서울 디지털 대학 멀티미디어 학부의 강의를 맡고 있다. 멀티미디어 디자인을 비롯해서 게임 프로그래밍, 인공지능 분야에도 많은 관심을 가지고 있다.


<역자 서문>

이 책의 원서를 처음 본 순간부터 사서 읽고 싶었다. 제목이며 표지, 그리고 책 속에 들어있는 갖가지 그림까지 모두 마음에 들었던 것이다. 그런데 어느날 번역할 기회가 오고 말았다. “이렇게 감사한 일이!”라는 마음으로 번역에 임했다. 물론 번역은 생각보다 힘든 작업이라 처음의 애정이 애증으로 뒤바뀐 적도 많았지만, 번역을 끝낸 지금 다시 돌아보아도 정말 좋은 책을 번역했다는 생각이 든다.

플래시 MX는 디자이너를 위한 도구다. 그런데 액션 스크립트의 기능이 막강해지면서 디자이너도 더 이상 ‘코딩’이라는 낯선 영역을 무시할 수만은 없게 되었다. 오히려 적극적으로 배워서 한층 멋진 무비를 만들어낼 절호의 기회로 삼아야 할 때다. 하지만 프로그래밍이 어디 만만한가. 여러 권의 책을 들여다봐도 액션 스크립트를 진정한 내 것으로 만들기는 쉽지 않다. 지나치게 프로그래머의 관점에서 서술한 책은 딱딱해서 이해하기 어렵고, 반대로 지나치게 흥미 위주로 서술한 책은 깊이가 없어서 새롭게 응용할 힘을 길러주지 못한다.

이 책은 이 두 마리 토끼 사이에서 흔치 않은 수준의 균형을 잡고 있다. 우선 ‘friends of ED’ 출판사에서 나오는 대부분의 책이 그렇듯이 디자이너의 관점을 충분히 반영한다. 설명에 많은 그림을 포함시킨다거나 예제가 한결같이 흥미진진하다는 점이 그렇다. 그런데 여기서 그치는 것이 아니다. 이 책에서 배운 내용을 완전히 자기 것으로 소화할 수 있게끔 기본적인 내용부터 깊이 있는 개념에 이르기까지 실전 예제와 결합시켜 매우 상세하고 흥미롭게 설명한다.

이 책은 각 장마다 꼭 한 개 이상씩 재미있는 예제를 만드는 것이 특징이다. 단순히 문법을 확인해보는 차원을 훨씬 넘어선, 정말 ‘재미있는’ 예제를 만든다. 특히 책의 뒷부분에서 만드는 게임(stun:zapper)을 직접 실행시켜본 후에 역자가 받았던 느낌은 “한 권의 책이 이렇게 충실해도 되는 건가”였다. 이 책을 구입해서 읽기 시작한 독자라면, 적어도 그 게임 만드는 부분(⑪장이니까 거의 끝이지만)까지는 꼭 열심히 읽어볼 것을 권한다.

번역을 완성하는 데까지 도움 주신 많은 분들께 감사 드린다. 좋은 책을 번역할 기회를 주시고 번역 기간 내내 함께 힘써주신 에이콘출판사 식구들께 감사 드리고, 학업과 외부의 일을 병행할 수 있도록 배려해 주신 교수님께 감사드리며, 늘 주위에서 큰 힘이 되어주시는 부모님과 형들, 그리고 인회에게 감사의 말을 전한다.

2003년 3월 16일 이강훈

목차

목차
  • 서문
  • 환영합니다
  • 당신이 알아야 하는 것
  • 지원 : 빠르고, 친절하고, 게다가 공짜
  • 다운로드
  • 실전 예제 : stun design
  • 이 책의 편집 규칙
  • PC와 맥
  • 1장 대화형 플래시 Interactive Flash
    • 무비에게 명령 전달하기
    • 액션 패널 사용하기
      • 스트립트 작성 모드의 선택
    • 누구한테 얘기하니?
      • 스테이지 위의 무비 클립 제어하기
      • 인자 Arguments
    • 무비가 건네는 얘기를 들어보자
      • 플래시의 이벤트
        • 외부 이벤트
        • 내부 이벤트
    • 콜백 Callback
      • 괄호가 싫어!
  • 2장 기억하는 무비 Movies that remember
    • 변수
      • 값과 타입 Type & Value
      • 리터럴과 수식 Literal & Expression
        • 리터털 값 Literal Values
        • 식 Expressions
      • 입력과 출력 Input & Output
      • 문자열 식의 사용
      • 변수 이름 짓기
      • 수(Number)이용하기
        • 수식의 또 다른 사용 예
      • 불리언(Boolean) 값 이용하기
        • 논리연산자
    • 배열 Arrays
      • 배열을 사용하는 이유
      • 새로운 배열의 생성
      • 변수의 값을 오프셋으로 이용
  • 3장 스스로 결정하는 무비
    • 의사 결정
      • 액션 스크립트에서의 의사 결정 - if 액션
      • 의사 결정의 예
      • 조건이 틀린 경우
        • 조건이 틀린 경우의 액션 - else
        • 여러 개의 조건 - else if 액션
        • 여러 가지 조건 한 번에 다루기 - switch액션
        • break 없는 switch 액션
  • 4장 작은 스크립트가 강하다
    • 타임라인 루프
    • 액션 스프립트 루프
    • while 루프
      • while 루프의 활용
    • for 루프
      • for 루프의 유용한 예제들
    • 루프를 따라 배열의 원소 접근
      • 배열의 모든 원소에 같은 연산 적용하기
      • 배열 내에서 특정한 값을 갖는 원소 찾기
      • 한 쌍의 배열에서 상호 인덱싱 cross-indexing
    • 행맨 Hangman
  • 5장 액션을 기억하는 함수 Movies that remember how to do things
    • 작업 나누기
  • 액션을 함께 묶어서 나중에 실행
  • 어떤 액션을 함께 묶을 것인가
    • 다 재능(multi-talented)함수 만들기
    • 함수의 결과값
    • 여러 개의 파라미터를 갖는 함수
  • 함수의 중첩 Nesting
  • 6장 객체
    • 객체란 무엇인가
      • 배열을 새로운 각도에서 바라보기
        • 배열의 생성자(constructor)메소드
        • 배열이 제공하는 그 밖의 메소드
        • 배열의 프로퍼티
      • 일반적인 정의 Vs 구체화된 객체
        • 클래스
        • 인스턴스
    • 맞춤형 객체(custom object)만들기
    • 객체는 어디에나 있다!
    • 숨어 있는 객체
    • 이미지 갤러리(image gallery)만들기
  • 7장 스테이지 위의 객체
    • 객체로서의 무비클립과 버튼
      • 비헤이비어 Behavior
      • 같은 객체의 두 가지 측면
    • 라이브러리 아이템 접근하기
    • 타임라인 사이 오가기
      • 다른 장소 다른 변수
        • 콜백 함수에서 변수의 위치 명시하기
        • 콜백의 재사용
    • 기본 경로(default path) 바꾸기
    • 전역 변수 Glabal variables
  • 8장 계획짜기
    • 문제의 정의
      • 머리 속보다 더 안전한 곳에 아이디어를 보관해라
      • 스토리보드 만들기
    • 액션 스크립트 작성
      • 하향식 방법으로 생각하기
        • 상향식으로 생각하기
        • 순서도 Flowchart
    • Section 1- stun:desing 프로젝트
    • Section 2- stun:design 사이트의정적 그래픽 준비 과정
    • Section 3- stun: design 사이트의 동적 그래픽 준비 과정
    • Section 4- 액션을 위한 준비
  • 9장 모듈화
    • 액션 스프립트 모듈화
      • 블랙박스(Black box)프로그래밍
    • 모듈방식으로 무비클립 제어
      • 실제적인 움직임(Realistic movenent)흉내내기
    • 무비클립 내장하기
      • 집단 행동 Swarming behavior
    • 함수를 객체로 사용
      • 생태 환경으로의 확장
  • 10장 사운드
    • 플래시 무비에 사운드 추가
    • 사운드 객체의 사용
      • 액션 스크립트로 사운드 연주
    • 액션 스크립트에서 사운드 제거
    • 큰 사운드 파일 다루기: 압축(compression)과 스트리밍(streaming)
      • 압축
      • 스트리밍
    • stun: design 웹사이트
      • 사운드 컨트롤러(Sound controller)제작
  • 11장 스프라이트
    • 스프라이트란 무엇인가?
    • 컨트롤 Control
      • 전역과 지역 데이터
    • 이동 Movement
    • 충돌 Collision
    • stun:zapper게임 계획 단계
    • 게임 세계/ 루트 레벨
      • 플레이어/우주선 객체와 인터페이스
  • 12장 드로잉 API
    • 거북이 그래픽 Turtle graphics
  • 직선
  • 곡선
    • 어떻게 작동하나?
  • 색칠
  • 만화경 Kaleidoscope
    • 만화경 속의 수학
    • 만화경 엔진 만들기
  • 13장 stun:design 사이트
    • Section 5- 기본적인 사용자 인터페이스 애니메이션 추가
    • Section 6-정방향 탐색 애니메이션 완성시키기
      • colTransition 함수 한데 묶기
    • 계획
      • 색상 전환
    • 계속 진행하기 전에
  • Section 7: 탐색과 데이터
    • 자료 구조 만들기
    • 데이터 정의하기
    • 데이터의 기본값 설정하기
    • 실제 데이터 입력
  • 페이지 정의 읽어 들이기
    • 제목적용
    • 이벤트 연결
    • 컨텐트 페이지 읽기
  • Section 8: 뒤로 가기
    • 역방향 경로 추가
  • Section 9: 컨텐트와 사운드
    • 사운드추가
    • 컨텐트 추가와 다운로드 관리
    • 사이트 인터페이스 로딩 메시지
    • 최종버전
  • 도서 오류 신고

    도서 오류 신고

    에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

    오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

    (예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

    정오표

    1. 202페이지 두번째 줄
    ball01_mc ---> ball02_mc

    2. 310 페이지 3번째줄
    his._x ---> this._x

    로 정정합니다.