[인터랙티브 게임과 애니메이션을 위한]
HTML5 캔버스 첫걸음
- 원서명Foundation HTML5 Canvas: For Games and Entertainment (ISBN 9781430232919)
- 지은이롭 호크스
- 옮긴이박진수
- ISBN : 9788960772557
- 30,000원
- 2011년 12월 26일 펴냄 (절판)
- 페이퍼백 | 460쪽 | 188*235mm
- 시리즈 : 웹 프로페셔널
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
인터랙티브한 게임과 애니메이션, 엔터테인먼트 애플리케이션을 만드는 데 필요한 HTML5 캔버스를 기초부터 쉽고 자세히 알려주는 책. 자바스크립트의 기초부터 시작해, 단순한 도형을 그리고, 움직이며, 영상을 화소 단위로 조작하고, 물리학을 응용해 게임을 만드는 일까지 아우르는 내용이 담겨 있다. 학습서로도 활용할 수 있고 참고서로도 활용할 수 있도록 잘 구성되었다.
[ 소개 ]
『HTML5 캔버스 첫걸음』으로 흥미롭고 인터랙티브한 게임과 엔터테인먼트 애플리케이션을 만드는 방법을 배울 수 있다.
HTML5와 자바스크립트를 이용해 캔버스로 그래픽, 애니메이션, 애플리케이션을 만들 수 있다. 캔버스를 사용하면 브라우저 내에 바로 그릴 수 있으며, 데스크톱 컴퓨터와 아이폰이나 안드로이드 같은 모바일 기기에서 모두 실행 가능하다.
새롭게 열린 HTML5 세계와 HTML5의 멋진 새 기능들을 소개하며 시작한다. 그러고 나서 자바스크립트 프로그램 작성 방법을 빠르게 안내한다. 그 다음에는 canvas 엘리먼트를 살펴보고, 아주 쉬운 방법으로 브라우저 안에 그림을 그리는 방법을 알려준다.
기초를 다지고 나면 동영상이나 이미지를 다루는 데 필요한 기능들을 향해 전진한다. 기초 물리학을 동원해 실감나는 애니메이션을 만드는 법도 배울 수 있다. 잘 정제된 예제 코드와 그림을 담은 이 책으로 기초를 숙달하고 난해한 주제까지도 잘 이해할 수 있을 것이다.
저자 롭 호크스는 이 책에서 긴장감 가득한 우주 배경 게임 두 가지를 제대로 만들어본다. 저자는 개발 방법을 자세히 알려줌으로써 배운 것을 바로 활용하게 돕는다.
이 책에서 여러분 앞에 펼쳐진 HTML5 세상을 즐기는 데 필요한 모든 정보를 얻을 수 있다.
[ 이 책에서 다루는 내용 ]
■ HTML5가 제공하는 흥미로운 새 기능과 활용 방법
■ 자바스크립트로 프로그램을 만드는 데 필요한 기초 기술과 사용자 입력을 감지하는 기술
■ canvas 엘리먼트가 중요한 이유와 써야 하는 이유
■ 캔버스의 특징을 기초부터 고급 수준까지 활용하는 방법
■ 캔버스와 물리적 튕김 현상을 사용해 실감나는 애니메이션을 만드는 방법
■ 캔버스와 자바스크립트와 기타 HTML5 기능으로 인터랙티브 게임을 만드는 방법
[ 이 책의 대상 독자 ]
『HTML5 캔버스 첫걸음』은 초보자든 전문가든 누구든지 쉽게 이해할 수 있도록 알기 쉽게 썼다. HTML5와 자바스크립트에 익숙하지 않은 웹 디자이너가 주요 대상 독자로서 HTML5의 캔버스 엘리먼트로 인터랙티브한 게임과 애플리케이션을 개발하기 위한 기본기를 주로 다룬다. 하지만 숙련된 웹 디자이너나 프로그래머도 캔버스의 특징을 익혀 자신의 작업에 응용하는 방법을 배울 수 있다. 웹이나 모바일 분야까지 영역을 넓히려는 플래시 개발자나 실버라이트 개발자도 이 책에서 많은 정보를 얻을 수 있다.
[ 이 책의 구성 ]
HTML5나 웹으로 이끌어 주는 멋진 새 기능을 간단히 소개하며 이 책을 연다.
1장에서는 HTML5의 배경 지식과 주변 기술을 익혀 무장한다. 일단 HTML5의 기초를 확립하면 그 다음에 자바스크립트 학습으로 넘어간다.
2장에서는 HTML5 캔버스를 활용하고 놀라운 애니메이션과 게임을 만드는 데 필요한 내용을 하나씩 배워간다.
3장은 캔버스 엘리먼트를 자세히 설명하고, 캔버스 엘리먼트를 이용해 기본적인 도형과 문자를 그리는 방법을 다룬다. 이 장에서부터 본격적으로 캔버스 기능과 캔버스의 단순명료한 매력에 빠져보길 바란다.
4장은 캔버스의 고급 기능을 소개한다. 복잡한 도형(shape)을 그리는 방법과 변환(transform)하는 방법을 알아보며, 캔버스에 그린 그림을 이미지 파일로 저장하는 방법도 알아본다.
5장에서는 앞에서 배운 지식을 활용해 이미지와 동영상을 캔버스로 다루는 방법을 알아본다. 여기서부터 매우 흥미로워지기 시작하는 부분으로서, 5장에서 캔버스를 실용적으로 쓰는 방법을 실감나게 느껴보기 바란다.
6장과 7장에서는 기어를 한 단계 높여 자바스크립트와 캔버스로 애니메이션을 구현하는 방법을 배운다. 이 두 장에서 애니메이션의 기초를 배울 뿐만 아니라 애니메이션을 실감나게 만드는 물리학도 배운다.
8장과 9장은 이 책의 절정부에 해당한다. 이 두 장 모두에서 HTML5 게임을 하나씩 만들어 본다. 그리고 캔버스로 게임을 제작하는 일에 관련된 핵심 측면부터 시작해서 사용자 입력을 거쳐 HTML5 오디오로 소리를 내게 하는 일까지 살펴본다. 이 두 장의 내용으로 HTML5로 자신만의 게임을 만드는 창의력을 높이는 데 도움이 될 것이다.
이 책은 캔버스의 미래상과 더 나은 것들을 취하는 방법을 설명하는 10장으로 마무리한다. 이 마지막 장을 통해 독자들에게 이 책에서 배운 모든 내용을 취합해 영감을 불러일으키고 한 단계 높은 수준으로 끌어올릴 수 있기를 바란다.
처음부터 한 장씩 읽거나, 아니면 필요한 주제만을 골라 읽을 수 있게 책을 구성하려고 애썼다. 이 책은 자바스크립트와 캔버스를 이용해 애니메이션을 만들어 내는 일에 기준점이 될 뿐만 아니라 학습에 필요한 참고 자료의 역할도 할 수 있다.
이 책에 실린 모든 코드는 ‘프렌즈오브에드’ 출판사가 개설한 웹페이지 http://www.friendsofed.com에서 다운로드할 수 있다. 또한 에이콘출판사 도서정보 페이지 http://www.acornpub.co.kr/book/foundation-html5-canvas에서도 다운로드할 수 있다.
[ 소개 ]
『HTML5 캔버스 첫걸음』으로 흥미롭고 인터랙티브한 게임과 엔터테인먼트 애플리케이션을 만드는 방법을 배울 수 있다.
HTML5와 자바스크립트를 이용해 캔버스로 그래픽, 애니메이션, 애플리케이션을 만들 수 있다. 캔버스를 사용하면 브라우저 내에 바로 그릴 수 있으며, 데스크톱 컴퓨터와 아이폰이나 안드로이드 같은 모바일 기기에서 모두 실행 가능하다.
새롭게 열린 HTML5 세계와 HTML5의 멋진 새 기능들을 소개하며 시작한다. 그러고 나서 자바스크립트 프로그램 작성 방법을 빠르게 안내한다. 그 다음에는 canvas 엘리먼트를 살펴보고, 아주 쉬운 방법으로 브라우저 안에 그림을 그리는 방법을 알려준다.
기초를 다지고 나면 동영상이나 이미지를 다루는 데 필요한 기능들을 향해 전진한다. 기초 물리학을 동원해 실감나는 애니메이션을 만드는 법도 배울 수 있다. 잘 정제된 예제 코드와 그림을 담은 이 책으로 기초를 숙달하고 난해한 주제까지도 잘 이해할 수 있을 것이다.
저자 롭 호크스는 이 책에서 긴장감 가득한 우주 배경 게임 두 가지를 제대로 만들어본다. 저자는 개발 방법을 자세히 알려줌으로써 배운 것을 바로 활용하게 돕는다.
이 책에서 여러분 앞에 펼쳐진 HTML5 세상을 즐기는 데 필요한 모든 정보를 얻을 수 있다.
[ 이 책에서 다루는 내용 ]
■ HTML5가 제공하는 흥미로운 새 기능과 활용 방법
■ 자바스크립트로 프로그램을 만드는 데 필요한 기초 기술과 사용자 입력을 감지하는 기술
■ canvas 엘리먼트가 중요한 이유와 써야 하는 이유
■ 캔버스의 특징을 기초부터 고급 수준까지 활용하는 방법
■ 캔버스와 물리적 튕김 현상을 사용해 실감나는 애니메이션을 만드는 방법
■ 캔버스와 자바스크립트와 기타 HTML5 기능으로 인터랙티브 게임을 만드는 방법
[ 이 책의 대상 독자 ]
『HTML5 캔버스 첫걸음』은 초보자든 전문가든 누구든지 쉽게 이해할 수 있도록 알기 쉽게 썼다. HTML5와 자바스크립트에 익숙하지 않은 웹 디자이너가 주요 대상 독자로서 HTML5의 캔버스 엘리먼트로 인터랙티브한 게임과 애플리케이션을 개발하기 위한 기본기를 주로 다룬다. 하지만 숙련된 웹 디자이너나 프로그래머도 캔버스의 특징을 익혀 자신의 작업에 응용하는 방법을 배울 수 있다. 웹이나 모바일 분야까지 영역을 넓히려는 플래시 개발자나 실버라이트 개발자도 이 책에서 많은 정보를 얻을 수 있다.
[ 이 책의 구성 ]
HTML5나 웹으로 이끌어 주는 멋진 새 기능을 간단히 소개하며 이 책을 연다.
1장에서는 HTML5의 배경 지식과 주변 기술을 익혀 무장한다. 일단 HTML5의 기초를 확립하면 그 다음에 자바스크립트 학습으로 넘어간다.
2장에서는 HTML5 캔버스를 활용하고 놀라운 애니메이션과 게임을 만드는 데 필요한 내용을 하나씩 배워간다.
3장은 캔버스 엘리먼트를 자세히 설명하고, 캔버스 엘리먼트를 이용해 기본적인 도형과 문자를 그리는 방법을 다룬다. 이 장에서부터 본격적으로 캔버스 기능과 캔버스의 단순명료한 매력에 빠져보길 바란다.
4장은 캔버스의 고급 기능을 소개한다. 복잡한 도형(shape)을 그리는 방법과 변환(transform)하는 방법을 알아보며, 캔버스에 그린 그림을 이미지 파일로 저장하는 방법도 알아본다.
5장에서는 앞에서 배운 지식을 활용해 이미지와 동영상을 캔버스로 다루는 방법을 알아본다. 여기서부터 매우 흥미로워지기 시작하는 부분으로서, 5장에서 캔버스를 실용적으로 쓰는 방법을 실감나게 느껴보기 바란다.
6장과 7장에서는 기어를 한 단계 높여 자바스크립트와 캔버스로 애니메이션을 구현하는 방법을 배운다. 이 두 장에서 애니메이션의 기초를 배울 뿐만 아니라 애니메이션을 실감나게 만드는 물리학도 배운다.
8장과 9장은 이 책의 절정부에 해당한다. 이 두 장 모두에서 HTML5 게임을 하나씩 만들어 본다. 그리고 캔버스로 게임을 제작하는 일에 관련된 핵심 측면부터 시작해서 사용자 입력을 거쳐 HTML5 오디오로 소리를 내게 하는 일까지 살펴본다. 이 두 장의 내용으로 HTML5로 자신만의 게임을 만드는 창의력을 높이는 데 도움이 될 것이다.
이 책은 캔버스의 미래상과 더 나은 것들을 취하는 방법을 설명하는 10장으로 마무리한다. 이 마지막 장을 통해 독자들에게 이 책에서 배운 모든 내용을 취합해 영감을 불러일으키고 한 단계 높은 수준으로 끌어올릴 수 있기를 바란다.
처음부터 한 장씩 읽거나, 아니면 필요한 주제만을 골라 읽을 수 있게 책을 구성하려고 애썼다. 이 책은 자바스크립트와 캔버스를 이용해 애니메이션을 만들어 내는 일에 기준점이 될 뿐만 아니라 학습에 필요한 참고 자료의 역할도 할 수 있다.
이 책에 실린 모든 코드는 ‘프렌즈오브에드’ 출판사가 개설한 웹페이지 http://www.friendsofed.com에서 다운로드할 수 있다. 또한 에이콘출판사 도서정보 페이지 http://www.acornpub.co.kr/book/foundation-html5-canvas에서도 다운로드할 수 있다.
목차
목차
- 1장 HTML5 소개
- 간추린 HTML의 역사
- HTML5가 필요한 이유
- 가려움
- 가려운 곳 긁기
- HTML5의 새로운 면
- 내용 구조화 엘리먼트
- 양식
- 미디어 관련 엘리먼트
- HTML5로 만든 견본 웹페이지 뜯어보기
- 한 줄씩 코드 분석
- HTML5에 대한 오해
- CSS3에 대한 오해
- 웹 폰트에 대한 오해
- 위치 정보에 대한 오해
- SVG에 대한 오해
- 웹 저장소에 대한 오해
- 웹 워커에 대한 오해
- 웹 소켓에 대한 오해
- 정리
- HTML5 관련 추가 정보
- HTML5 관련 추가 정보
- 2장 자바스크립트 기초
- 자바스크립트 훑어보기
- 제이쿼리
- 제이쿼리란?
- 제이쿼리를 쓰는 이유
- 속임수일까?
- 자바스크립트를 제대로 이해하지 못했다는 뜻인가?
- 제이쿼리를 사용하려면 어떻게 해야 할까?
- HTML 페이지에 자바스크립트 추가
- 웹페이지 탑재 후 자바스크립트 실행
- 잘못된 방법(window.onload 이벤트 방식)
- 어려운 방법(DOM 방식)
- 쉬운 방법(제이쿼리 방식)
- 변수와 데이터 타입
- 변수
- 데이터 타입
- 제어문
- if문
- 비교 연산자
- if문과 복합 조건
- else문과 else if문
- 함수
- 함수 작성
- 함수 호출
- 객체
- 객체란?
- 객체 생성과 사용
- 배열
- 배열 작성
- 배열 접근과 수정
- 반복문
- 타이머
- 일회용 타이머 설정
- 일회용 타이머 해제
- 반복 타이머 설정
- 반복 타이머 해제
- DOM
- HTML 웹페이지 예
- 자바스크립트만으로 DOM에 접근하는 방법
- 제이쿼리로 DOM에 접근하는 방법
- DOM 조작
- 정리
- 3장 캔버스 기초 학습
- canvas 엘리먼트와 친해지기
- 캔버스를 지원하는 브라우저
- 2차원 렌더링 컨텍스트
- 좌표계
- 2차원 렌더링 컨텍스트에 접근
- 간단한 도형과 선 그리기
- 선
- 원
- 스타일
- 선의 두께 바꾸기
- 텍스트 그리기
- 캔버스를 지우기
- 너비/높이 기교
- 캔버스로 브라우저 창 채우기
- 정리
- canvas 엘리먼트와 친해지기
- 4장 캔버스 심화 학습
- 그리기 상태 저장과 복원
- 캔버스의 그리기 상태란?
- 그리기 상태 저장
- 그리기 상태 복원
- 여러 그리기 상태 저장과 복원
- 변환
- 이동
- 크기 조절
- 회전
- 변환 행렬
- 합성
- 전역 투명도
- 합성 연산
- 그림자
- 그레이디언트
- 복합 경로
- 베지어 곡선
- 이미지 파일로 캔버스 내보내기
- 정리
- 그리기 상태 저장과 복원
- 5장 이미지와 동영상 조작
- 캔버스에 이미지 탑재
- 이미지 크기 조절과 자르기
- 이미지 크기 조절
- 이미지 자르기
- 그림자
- 이미지 변환
- 이동
- 회전
- 크기 조절하며 뒤집기
- 픽셀 값에 접근
- 보안 문제
- 처음부터 이미지 만들기
- 픽셀 색상 무작위로 설정
- 모자이크 효과
- 이미지에 기본 효과 적용
- 색상 반전
- 회색조
- 픽셀 처리
- 동영상 조작
- HTML5의 video 엘리먼트 생성
- HTML5 동영상 API에 접근
- 캔버스 설정
- 정리
- 6장 사물 움직이기
- 캔버스에서의 애니메이션
- 애니메이션 루프 작성
- 애니메이션 루프
- 수정하고, 지우고, 그리기
- 그릴 도형 기억
- 잘못된 방법
- 올바른 방식
- 도형을 무작위로 만들기
- 방향 전환
- 원을 따라 움직이기
- 삼각법
- 모든 것을 한 자리에 놓기
- 경계선에서 객체 튕기기
- 정리
- 7장 향상된 애니메이션 구현
- 물리학 개론
- 물리학이란?
- 이미지를 처리하는 데 도움이 되는 이유
- 기본 용어
- 뉴턴의 운동 법칙
- 물리학을 이용한 애니메이션
- 사전 준비
- 속도
- 경계선 추가
- 가속도
- 마찰력
- 충돌 처리
- 충돌 검출
- 서로 부딪힌 객체끼리 튕겨내기
- 운동량 보존
- 정리
- 물리학 개론
- 8장 우주 볼링 게임 제작
- 게임 개요
- 요구 사항
- 핵심 기능 설정
- HTML 표시
- 멋지게 만들기
- 자바스크립트 설정
- 사용자 인터페이스 활성화
- 게임 객체 생성
- 기지 생성
- 소행성 설정
- 플레이어의 소행성 설정
- UI 갱신
- 사물 움직이기
- 사용자 상호 작용의 검출
- 모두 설정
- 플레이어 소행성 선택
- 추진력 증가
- 놓아주기
- 사용자 입력 시각화
- 플레이어 재설정
- 플레이어가 이기게 하기
- 점수 갱신
- 플랫폼에서 소행성 제거
- 정리
- 게임 개요
- 9장 소행성 회피 게임 시작
- 게임 개요
- 요구 사항
- 핵심 기능 설정
- HTML 표시
- 멋있게 만들기
- 자바스크립트 설정
- 게임 객체 생성
- 소행성 설정
- 플레이어의 로켓 설정
- 키보드 입력 감지
- 키 코드
- 키보드 이벤트
- 사물 움직이기
- 횡스크롤 효과 꾸미기
- 소행성 재활용
- 경계 추가
- 로켓이 계속 이동하게 하기
- 소리 추가
- 게임 마무리
- 점수 매기기
- 로켓 파괴
- 난이도 높이기
- 정리
- 게임 개요
- 10장 캔버스의 미래
- 캔버스와 SVG
- 접근성
- 비트맵과 벡터
- 캔버스와 플래시
- 자바스크립트 개발자는 플래시 개발자에게 배울 수 있다
- 플래시처럼 사용자 친화적인 편집기가 캔버스에는 없다
- 캔버스와 성능
- 성능 시험
- 캔버스 게임 라이브러리와 애니메이션 라이브러리
- 삼차원 세계
- 주변 기기와 통합
- 무지개 프로젝트
- 웹 소켓으로 멀티플레이 구현
- 영감을 주는 게임
- 스케치 아웃(Sketch Out)
- Z-타입
- 꼬불이(Sinous)
- 캔버스와 SVG
도서 오류 신고
정오표
[ p296 '사전 준비' 절 2행 ]
별도의 파일로 자바를 저장하면 → 별도의 파일로 자바스크립트를 저장하면
별도의 파일로 자바를 저장하면 → 별도의 파일로 자바스크립트를 저장하면