logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

HTML5 Canvas

HTML5 Canvas

(웹의 한계를 캔버스로 뛰어 넘는다)

제프 펄튼, 스티브 펄튼 (지은이), 이성희, 이수진 (옮긴이)
한빛미디어
38,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

HTML5 Canvas
eBook 미리보기

책 정보

· 제목 : HTML5 Canvas (웹의 한계를 캔버스로 뛰어 넘는다)
· 분류 : 국내도서 > 컴퓨터/모바일 > 웹디자인/홈페이지 > HTML/JavaScript
· ISBN : 9788979148985
· 쪽수 : 772쪽
· 출판일 : 2012-01-20

책 소개

HTML5 중에서도 캔버스, 즉 멀티미디어 기능에 대한 내용에 중점을 둔 책이다. 캔버스로 그림을 그리는 기초적인 내용부터 시작해서 수학, 물리 법칙을 적용하여 그리는 방법, 다양한 변환을 적용하는 방법, 오디오, 비디오는 물론이고 HTML5로 만든 웹 코드를 모바일 코드로 바꾸는 방법과 3D, 소켓 통신까지 다양한 내용을 자세히 설명한다.

목차

옮긴이의 글
지은이의 글
감사의 글

CHAPTER 01 HTML5 캔버스 소개
01-1 기본적인 HTML 페이지
__1. 「!doctype html」
__2. 「html lang= "ko" 」
__3. 「meta charset= "UTF-8" 」
__4. 「title」 . . . 「 / title」
__5. 간단한 HTML5 페이지
01-2 이 책에서 사용하는 기본적인 HTML
__1. 「div」
__2. 「canvas」
01-3 DOM과 캔버스
01-4 자바스크립트와 캔버스
__1. 자바스크립트 프레임워크와 라이브러리
__2. 자바스크립트를 넣는 위치
01-5 HTML5 캔버스로 만드는 "Hello World!"
__1. 캔버스를 위한 자바스크립트 코드 캡슐화하기
__2. HTML 페이지에 캔버스 넣기
__3. 브라우저가 캔버스를 지원하는지 알아보기
__4. 2D 컨텍스트 구하기
__5. drawScreen( ) 함수
01-6 Console.log로 디버깅하기
01-7 2D 컨텍스트와 현재 상태 정보
01-8 HTML5 캔버스 객체
01-9 또 다른 예제: Guess The Letter
__1. 게임의 작동 원리
__2. "Guess The Letter" 게임의 변수
__3. initGame( ) 함수
__4. eventKeyPressed( ) 함수
__5. drawScreen( ) 함수
__6. 캔버스에서 이미지로 바꾸기
__7. 완성된 게임 코드
01-10 다음 내용 소개

CHAPTER 02 캔버스에 그리기
02-1 기본 파일 형태
02-2 기본 사각형 그리기
02-3 캔버스 상태 정보
__1. 상태 정보에 없는 정보
__2. 상태 정보의 저장과 복구
02-4 패스를 이용해서 선 그리기
__1. 패스의 시작과 끝
__2. 실제로 그리기
__3. 더 복잡한 선 그리기 예제
02-5 고급 패스 메서드
__1. 원호 그리기
__2. 베지어 곡선 그리기
__3. 캔버스 영역 선택
02-6 겹치기 효과
02-7 간단한 캔버스 변환
__1. 회전과 이동
__2. 스케일 변환
__3. 스케일과 회전 변환 조합하기
02-8 색상과 그레이디언트 넣기
__1. 채우기 색상 설정
__2. 그레이디언트로 채우기
02-9 도형에 패턴 채우기
02-10 그림자 만들기
02-11 다음 내용 소개

CHAPTER 03 HTML5 캔버스 문자 API
03-1 문자 출력의 기본
__1. 기본 문자 출력
__2. Text Arranger에서의 기본적인 문자 처리
__3. HTML 폼과 캔버스의 연결
__4. measureText 사용하기
__5. fillText와 strokeText
03-2 문자 폰트 설정
__1. 폰트 크기, 두께, 스타일의 기본
__2. Text Arranger에서 폰트 크기와 종류 설정하기
__3. 폰트 색상
__4. 폰트 기준선과 정렬
__5. Text Arranger 버전 2.0
03-3 문자와 캔버스 컨텍스트
__1. 문자에 투명도 설정하기
__2. 문자에 그림자 설정하기
03-4 문자에 패턴과 그레이디언트 넣기
__1. 선형 그레이디언트와 문자
__2. 방사형 그레이디언트와 문자
__3. 이미지 패턴과 문자
__4. Text Arranger에서 그레이디언트와 패턴 처리하기
03-5 폭, 높이, 스케일, toDataURL( ) 다시 보기
__1. 동적으로 캔버스 크기 조절하기
__2. 동적으로 캔버스 스케일하기
__3. Canvas 객체의 toDataURL( ) 메서드
03-6 Text Arranger 최종 버전
03-7 다음 내용 소개

CHAPTER 04 캔버스에서의 이미지
04-1 기본 파일 형태
04-2 기본적인 이미지 처리
__1. 이미지 미리 불러오기
__2. drawImage( )로 캔버스에 이미지 출력하기
__3. 캔버스에서 이미지 크기 변환하기
__4. 이미지의 일부분을 캔버스로 복사하기
04-3 간단한 셀 스프라이트 애니메이션
__1. 애니메이션 프레임 카운터 만들기
__2. 타이머 만들기
__3. 출력할 타일 바꾸기
04-4 복잡한 셀 애니메이션
__1. 타일 시트 알아보기
__2. 애니메이션 배열 만들기
__3. 출력할 타일 고르기
__4. 타일 반복하기
__5. 타일 그리기
04-5 이미지에 회전 적용하기
__1. 캔버스 변환의 기본
__2. 변환한 이미지에 애니메이션 효과 넣기
04-6 타일로 배경 만들기
__1. 타일 맵 정의하기
__2. Tiled로 타일 맵 만들기
__3. 캔버스에 맵 출력하기
04-7 이미지 축소, 확대, 패닝
__1. 이미지 창 만들기
__2. 이미지 창 그리기
__3. 이미지 패닝
__4. 이미지 축소, 확대, 패닝
__5. 애플리케이션: 축소 확대, 패닝 제어하기
04-8 픽셀 처리
__1. 캔버스 픽셀 처리 API
__2. Tile Stamper 애플리케이션
04-9 한 캔버스에서 다른 캔버스로 복사하기
04-10 다음 내용 소개

CHAPTER 05 수학과 물리학을 적용한 애니메이션
05-1 일직선상으로 움직이기
__1. 두 점 간의 이동: 두 점 사이의 거리 구하기
__2. 벡터에 따른 움직임
05-2 튀는 공 구현하기
__1. 튀는 공 하나
__2. 벽에 맞고 튀는 여러 개의 공
__3. 동적으로 크기가 변환되는 캔버스 상에서 튀는 공들
__4. 튀는 공과 충돌 효과
__5. 튀는 공에 마찰력 적용
05-3 곡선과 회전 이동
__1. 등속 원운동
__2. 간단하게 구현한 나선 모양 움직임
__3. 3차 베지어 곡선
__4. 이미지 움직이기
__5. 3차 베지어 곡선으로 고리 모양 만들기
05-4 기본적인 중력, 탄성, 마찰력 적용
__1. 간단히 중력 적용하기
__2. 중력과 튀는 효과 적용하기
__3. 중력과 탄성을 적용하여 튀는 효과 만들기
__4. 중력, 탄성, 마찰력 간단히 적용하기
05-5 가속도 효과
__1. 감속(우주선 착륙)
__2. 가속(우주선 이륙)
05-6 다음 내용 소개

CHAPTER 06 HTML5 캔버스와 비디오
06-1 HTML5의 비디오 지원
__1. 테오라 + 보비스 = .ogg
__2. H.264 + $$$ = .mp4
__3. VP8 + 보비스 = .webm
__4. 세 가지 형식 모두 사용
06-2 비디오 형식 변환
06-3 기본적인 HTML5 비디오 구현
__1. 평범하고 단순하게 비디오 넣기
__2. 컨트롤, 반복재생, 자동재생 기능 넣기
__3. 비디오의 폭과 높이 바꾸기
06-4 자바스크립트로 비디오 프리로딩 구현
__1. HTML5에서 이벤트와 비디오 간의 문제점
06-5 비디오와 캔버스
__1. HTML5 캔버스에서 비디오 출력하기
__2. HTML5 비디오 속성
06-6 캔버스 상의 비디오 예제 애플리케이션
__1. currentTime 속성을 이용하여 비디오 이벤트 만들기
__2. 캔버스 비디오 변환: 회전
__3. 캔버스 비디오 퍼즐
__4. 캔버스에서 비디오 컨트롤 만들기
06-7 애니메이션 효과 넣기: 움직이는 비디오
06-8 다음 내용 소개

CHAPTER 07 HTML5 캔버스와 오디오
07-1 기본적인 「audio」 태그
07-2 오디오 형식
__1. 오디오 형식 지원
__2. Audacity
__3. 예제 애플리케이션: 세 가지 형식 모두 사용하기
07-3 오디오 태그의 속성, 함수, 이벤트
__1. 오디오 함수
__2. 중요한 오디오 속성
__3. 중요한 오디오 이벤트
__4. 오디오 로딩과 재생
__5. 캔버스에서 특성 출력
07-4 오디오 태그 없이 사운드 재생하기
__1. 자바스크립트를 사용하여 동적으로 오디오 요소 만들기
__2. 지원되는 오디오 형식 알아내기
__3. 사운드 재생하기
__4. 태그가 없어요!
07-5 캔버스 오디오 플레이어 만들기
__1. 캔버스에서 사용자 맞춤 컨트롤 만들기
__2. 버튼 로드하기
__3. 오디오 플레이어의 변수 값 설정하기
__4. 마우스 이벤트
__5. 재생 슬라이더
__6. 재생/일시정지 버튼: 선택 위치 검사법 이용
__7. 반복재생 토글 버튼
__8. 볼륨 슬라이더
07-6 오디오 애플리케이션: 스페이스 레이더스 게임
__1. 애플리케이션에서의 사운드 문제
__2. 여러 버전으로 구현
__3. 스페이스 레이더스 게임의 구조
__4. 버전 1: 하나의 객체로 사운드 재생하기
__5. 버전 2: 무제한적으로 동적 사운드 객체 만들기
__6. 버전 3: 사운드 풀 만들기
__7. 버전 4: 프리로드한 사운드 재사용하기
07-7 다음 내용 소개

CHAPTER 08 캔버스 게임의 핵심
08-1 HTML5에서의 게임
__1. 플래시와 캔버스 비교
__2. 캔버스에서 제공하는 기능
08-2 게임에 사용할 기본 HTML5 파일
08-3 게임 디자인
08-4 게임 그래픽: 패스 이용하기
__1. 필요한 자원
__2. 패스를 이용하여 게임의 주요 캐릭터 그리기
08-5 캔버스에 애니메이션 효과 넣기
__1. 게임 타이머 구현
__2. 플레이어 우주선의 상태 변경
08-6 게임 그래픽에 변환 적용하기
__1. 캔버스 스택
08-7 게임 그래픽 변환
__1. 플레이어 우주선의 중심을 기준으로 회전하기
__2. 플레이어 우주선에 투명도 적용
08-8 물리학을 적용하여 애니메이션 구현
__1. 플레이어 우주선의 이동 원리
__2. 키보드로 플레이어 우주선 제어하기
__3. 플레이어 우주선의 최대 속도 지정
08-9 기본적인 게임 프레임워크
__1. 게임 상태 기계
__2. 갱신/렌더링 반복
__3. FrameRateCounter 객체 프로토타입
08-10 게임 애플리케이션 구현
__1. 지오 블라스터 게임의 구조
__2. 지오 블라스터 게임의 전역 변수
08-11 플레이어 객체
08-12 지오 블라스터 게임 알고리즘
__1. 논리적 출력 객체의 배열
__2. 레벨 스위치
__3. 레벨과 게임의 끝
__4. 보너스 우주선
__5. 충돌 검사 적용
08-13 지오 블라스터 베이직 전체 코드
08-14 암석 객체 프로토타입
08-15 다음 내용 소개

CHAPTER 09 비트맵과 사운드 사용
09-1 지오 블라스터 확장판
__1. 지오 블라스터 타일 시트
__2. 다른 게임 객체 렌더링
__3. 사운드 추가
__4. 객체 인스턴스 풀링
__5. 스텝 타이머 추가
__6. 지오 블라스터 확장판 전체 코드
09-2 실행 중에 동적 타일 시트 만들기
09-3 간단한 타일 기반 게임
__1. 마이크로 탱크 미로 게임의 개요
__2. 게임에서 사용할 타일 시트
__3. 플레이필드
__4. 플레이어
__5. 적군
__6. 목표
__7. 폭발
__8. 턴 방식 게임의 흐름과 상태 기계
__9. 타일 이동 로직의 개요
__10. 렌더링 로직의 개요
__11. 마이크로 탱크 미로에서 사용하는 인공지능
__12. 마이크로 탱크 미로 전체 게임 코드
09-4 다음 내용 소개

CHAPTER 10 폰갭을 이용한 모바일 게임
10-1 가자, 모바일로!
__1. 폰갭 소개
__2. 예제 애플리케이션
__3. 전체 코드
__4. BSBingo.html 코드
__5. 게임 애플리케이션 코드
10-2 폰갭을 이용하여 iOS 애플리케이션 만들기
__1. Xcode 설치하기
__2. 폰갭 설치하기
__3. Xcode에서 BS 빙고 폰갭 프로젝트 만들기
__4. 시뮬레이터에서 테스트하기
__5. BS 빙고를 프로젝트로 통합하기
__6. 출력 방향 설정하기
__7. 배너와 아이콘 변경하기
__8. 시뮬레이터에서 테스트하기
__9. 아이폰에 "제스처" 추가하기
__10. index.html에 제스처 기능 추가하기
__11. 장비에서 테스트하기
__12. Xcode에서 테스트 장비 지정하기
10-3 캔버스와 모바일
10-4 다음 내용 소개

CHAPTER 11 그 밖의 기술
11-1 WebGL을 이용한 3D
__1. WebGL이란?
__2. WebGL의 지원 여부
__3. WebGL에 대한 정보
__4. WebGL 애플리케이션
__5. 전체 코드
__6. WebGL에 대한 그 밖의 정보
__7. WebGL 자바스크립트 라이브러리
11-2 ElectroServer 5를 이용한 다중 사용자 애플리케이션
__1. ElectroServer 설치하기
__2. 소켓 서버 애플리케이션의 기본 구조
__3. ElectroServer 애플리케이션의 기본 구조
__4. ElectroServer를 이용한 채팅 애플리케이션 만들기
__5. 구글 크롬에서 애플리케이션 테스트하기
__6. ElectroServer의 또 다른 활용
__7. 빙산의 일각
11-3 이 책을 마치며

저자소개

제프 펄튼 (지은이)    정보 더보기
30년 이상 취미로 컴퓨터 게임과 비디오 게임을 즐기고 있다. 어린 시절 제프는 게임 프로그래밍을 통해 돈을 벌고 싶다는 막연한 꿈을 꾸긴 했지만 전문 게임 개발자가 될 생각은 전혀 없었다. 제프는 오히려 작가나 영화감독이 될 생각이었다. 대학에서 친구들과 함께 예산이 전혀 필요 없는 영화 몇 편을 찍고 난 후 제프는 자신이 창작 분야만큼이나 기술적인 분야에도 소질이 있음을 깨달았다. 제프와 그의 형인 스티브가 애니메이션을 제작하고 이들 영화의 타이틀 시퀀스를 만드는 데 사용한 아타리 ST 컴퓨터는 이후 제프가 전문 게임 개발자로서의 길을 걷게 하는 데 큰 영감을 줬다. 1991년 제프는 ST 액션 매거진에서 Llamasoft의 게임 개발자인 제프 민터의 게임 개발 관련 연재 기사를 읽었다. 이 연재 기사는 그의 이후 경력의 씨앗을 심어준다. 제프는 민터가 기사에서 설명하고 개발한 포스트 복고 게임의 다양한 언어와 흥미로운 이야기에 매료됐다. 게임 개발이 단순히 창조적인 추구를 통해 이뤄지지 않는다는 사실을 깨달은 후 제프는 대학의 모든 영화 과목을 제쳐두고 최대한 기술 수업과 경영 수업을 찾아서 수강했다. 대학 졸업 후 제프는 업무 시간에는 주로 펄과 C++로 다양한 비즈니스 애플리케이션을 만들고, 여가 시간에 게임 코딩과 개발을 했다. 1990년대 말 웹 붐이 강타했을 때 제프는 기회를 놓치지 않고 벤처를 시작하는 기업들의 웹사이트를 만들고 거대 다국적 기업을 위한 게임을 만들었다. 2006년 게임과 사이트가 200개 이상 쌓이자 제프와 스티브(역시 게임 개발자이자 사이트 개발자)는 www.8bitrocket.com이라는 자신들의 사이트를 시작한다. 이 사이트의 목적은 웹 게임과 복고 스타일의 게임을 알리고 자신들이 익힌 게임 설계, 코딩, 개발 기법을 다른 이들에게 전수하는 것이다.
펼치기
스티브 펄튼 (지은이)    정보 더보기
자칭 아타리 광팬인 스티브 펄튼은 자신이 기억하는 한 항상 게임을 만들고 싶어 했다. 영화 학교와 락 저널리즘에도 잠깐 손을 댄 적이 있지만, 스티브는 1990년대 초에 C++와 어셈블리 언어 프로그래머로 경력을 시작한다. 하지만 월드 와이드 웹의 부상으로 인해 시들해진 클라이언트 서버 소프트웨어 업체 몇 곳에서 일한 후 스티브는 1995년 새로운 가능성을 보고 HTML/자바와 펄/CGI 프로그래밍을 시작한다. 당시에는 (웹이 폭발적으로 성장하기 전에) 이런 경력 이전으로 인해 웹사이트와 채팅, 단어 검색, HTML과 서버사이드 스크립트만을 활용한 간단한 게임 같은 인터랙티브 애플리케이션을 만드는 직종이 크게 늘어났다. 1990년대 내내 소규모 기업과 대기업을 상대로 웹사이트를 개발한 후 스티브는 세계에서 가장 큰 엔터테인먼트 기업 중 한곳의 소비자를 대상으로 하는 웹사이트를 개발한다. 지난 10년간 스티브는 플래시를 비롯한 다양한 기술을 활용해 웹 기반의 게임과 엔터테인먼트 작업을 했다. 수십 개의 유명하고 트래픽 양이 많은 웹사이트나 커뮤니티와 더불어 스티브는 수백 개의 플래시 애플리케이션과 웹사이트를 설계하고, 개발하고, 프로그래밍했다. 이 중에는 10억 번 이상 플레이된 1인용 게임과 멀티 플레이어 웹 기반 게임도 수십 가지나 있다. 동생인 제프와 더불어 스티브는 인기 있는 플래시와 복고 게임 개발 사이트인 www.8bitrocket.com을 운영 중이다. 이 사이트는 뉴스, 튜토리얼, 데모 게임, 실험, 플래시, 바이럴 웹 게임 세계에 대한 생각 등이 수시로 업데이트된다.
펼치기
이성희 (옮긴이)    정보 더보기
KAIST 전산과와 연세대학원 컴퓨터 구조 연구실을 졸업하고 데이콤 보라넷을 거쳐 미국 실리콘밸리에서 시스템 어드민으로 일하고 있다. 번역서로는 『DNS와 BIND 3판』(1999), 『유닉스 파워툴』(2000), 『시스템 프로그래밍』(2001), 『HTML5 Canvas』(2012), 『Head First Mobile Web』(2012, 이상 한빛미디어), 『해킹 침입의 드라마』(2005), 『소프트웨어 비즈니스』(2007, 이상 사이텍미디어)가 있다.
펼치기
이수진 (옮긴이)    정보 더보기
이화여자대학교 전산과를 졸업하고, 데이콤 천리안에서 시스템 프로그래밍 업무를 거쳐 미국 실리콘밸리에서 웹 개발을 했다. 번역서로는 『시스템 프로그래밍』(2001), 『HTML5 Canvas』(2012), 『Head First Mobile Web』(2012, 이상 한빛미디어)이 있다.
펼치기

책속에서

오라일리 관계자분들에게도 감사의 말을 전하고자 한다. 특히 이 책을 작업할 기회를 준 마이크 로키즈, 많은 도움을 준 사이먼 생로랑, 내용을 예쁘게 다듬어 준 편집자 말로우 쉐퍼, 그리고 작업을 마무리 해 준 출판 편집자 크리스텐 보그에게 감사드린다. 아울러 기술적인 내용을 검토해 준 라파엘 체코, 셸리 파워스, 안드레스 파젤라에게도 감사의 마음을 전하고 싶다. 일렉트로탱크의 모든 분들, 특히 조브 메이커, 매튜 웨이스너, 테레사 커리건에게 감사 드리며, 제트 모건, 크리에이티브 보틀, 프로덕토 스튜디오, 마텔, 모치, 어도비, 마이크로소프트, 징가, SPIL 그룹의 친구들과 러닝웹지엘닷컴의 가일스 토마스와 아리 펠드먼, 테리 페이튼, 그리고 에이스 더 수퍼빌런, 바스 알리칸테, egdcltd, 토니 페르난도, SeuJogo, 헤이즈, 호세 가레이, 리차드 다베이(@PhotonStorm), Squize and nGfx(@GamingYourWay), 그리고 8bitrocket.com의 친구들에게 감사한다. 그리고 444 Deharo의 뛰어난 팀, 특히 FV 팀과 Foo Fighters pod 팀에게 감사한다. 작업을 도와준 모든 친구, 이언 레글러, 브랜든 크리스트, 데릭 벌스, 웨슬리 크루, 케니 브라운, 마이크 포티, 에븐 펄싱, 스캇 존슨, 스캇 런스포드, 컬트 레글러, 라이언 레클러, 존 리틀, 매트 하얏, 베런 탠던, 마크 홀, 제이슨 네이펠드, 마이크 피터스, 그리고 The Alarm에 감사를 전한다. 마지막으로 환상적인 HTML5 캔버스 명세를 내놓은 W3C에 마찬가지로 감사의 마음을 전한다.
- 스티브 펄튼 & 제프 펄튼 / '지은이 서문' 중에서


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책