Top

Cocos2d-x 3 모바일 게임 프로그래밍

  • 지은이인자건
  • ISBN : 9788960775657
  • 30,000원
  • 2014년 05월 30일 펴냄
  • 페이퍼백 | 488쪽 | 188*250mm
  • 시리즈 : 게임 개발 프로그래밍, 모바일 프로그래밍

책 소개

요약

코코스2d-x 3.0 정식 버전으로는 국내에서 첫 출간되는 책이다. 코코스2d-x(Cocos2d-x)를 활용한 모바일 게임에 처음 입문하는 개발자는 물론, 모바일 게임에 관심이 많은 디자이너와 기획자도 함께 볼 수 있다. 이 책에서는 코코스2d-x에서 제공하는 기능을 상세하게 설명함으로써 체계적인 게임 개발의 기초를 다질 수 있다. 또 기억력을 테스트해보는 카드 게임, 점프맨이 등장하는 횡 스크롤 게임, 미니 플라이트 게임이라는 이름의 슈팅 게임 등 대표적인 3가지 실전 게임 프로젝트를 만들어보며 모바일 게임 개발에 대한 실전 감각을 익힐 수 있다.

이 책의 특징

■ 국내 처음으로 코코스2d-x 3.0 정식 버전을 다루는 책
■ 게임 개발의 기초를 익힐 수 있는 풍부하고 체계적인 기능 설명
■ 따라 하기만 해도 바로 게임을 만들 수 있는 3가지 실전 게임 예제

이 책에서 다루는 내용

■ 스프라이트, 라벨, 메뉴, 액션 기능 등 기본적인 코코스2d-x에 대한 설명
■ 화면과 레이어를 구성하고 전환하는 방법
■ 터치 이벤트를 구현하고 객체들 간에 충돌을 체크하는 방법
■ 애니메이션과 배경 스크롤을 구현하는 방법
■ 사운드, 파티클 같은 효과를 적용하는 방법
■ 스크롤뷰, 에디트박스 등 GUI를 구성하는 방법
■ 네트워크 통신에 필요한 기능
■ 카드 게임, 횡 스크롤 게임, 슈팅 게임 등 3가지 실전 게임 프로그래밍

이 책의 대상 독자

C 언어를 알고 있거나 프로그래밍을 해본 경험이 있는 독자라면 쉽게 접근하고 이해할 수 있게 구성했다. C 언어를 잘 모르더라도 이 책의 예제를 하나씩 따라 하다 보면 손쉽게 이해할 수 있을 것이다. 다음과 같은 독자들에게 이 책을 추천한다.

■ 코코스2d-x로 모바일 게임에 처음 입문해 보려는 프로그래머
■ 안드로이드와 iOS 플랫폼 게임을 동시에 만들려는 게임 개발자
■ 기존 코코스2d-x 게임을 3.0 버전으로 업그레이드 하려는 게임 개발자
■ 프로그래밍 지식은 없지만 모바일 게임 개발에 관심이 많은 기획자나 디자이너
■ 모바일 게임에 대한 실전 경험과 감각을 익히고 싶은 누구나

이 책의 구성

1장 소개: 코코스2d-x의 역사와 사용 현황, 특징을 알아보고, 유니티 게임 엔진과 비교하면서 각 게임 엔진의 장단점을 알아본다. 그리고 코코스2d-x의 개발 환경을 구축하고 새로운 프로젝트를 만드는 방법에 대해서도 살펴본다.

2장 기본 기능: 코코스2d-x의 기본 기능을 알아본다. 먼저 코코스2d-x에서 사용하는 좌표계와 앵커포인트(Anchor Point)에 대해 알아보고, 게임을 만들 때 많이 사용하는 이미지와 텍스트를 화면에 출력하는 방법, 그리고 메뉴 버튼을 만드는 방법을 학습한다. 마지막으로 코코스2d-x의 기본 프로젝트인 HelloWorld 소스 코드를 자세하게 분석한다.

3장 다양한 액션 기능: 코코스2d-x의 가장 큰 장점은 다양한 액션 기능이다. 게임을 만들 때 가장 많이 사용하는 기능도 액션 기능이다. 3장에서는 코코스2d-x에서 제공하는 액션 기능을 기본 액션과 응용 액션으로 구분해서 자세하게 알아본다.

4장 게임 화면의 전환: 게임은 보통 여러 개의 화면(Scene)으로 구성되며, 한 화면에서도 여러 개의 레이어(Layer)로 구성될 때가 많다. 4장에서는 새로운 화면을 만드는 방법과 다른 화면으로 전환하는 방법, 그리고 한 화면에서 새로운 레이어를 추가하는 방법을 배운다. 또 화면을 전환할 때 제공되는 화면 전환 효과에 대해서도 알아본다.

5장 터치 이벤트와 충돌 체크: 모바일 게임은 PC 게임과 다르게 게임을 하려면 마우스나 키보드 조작이 아닌 화면을 터치해야 한다. 그리고 사용자가 터치한 화면의 위치를 게임에서 사용하는 경우도 많다. 5장에서는 터치 이벤트의 종류와 사용법에 대해 살펴본다. 또 화면을 터치하거나 게임에서 오브젝트간에 충돌 여부를 체크하는 방법도 알아본다.

6장 실전 게임 #1. 기억력 게임: 간단하지만 지금까지 배웠던 기능을 사용해 간단한 게임을 만들어본다. 함께 만들 게임은 기억력 게임으로 카드의 번호가 보여지는 순서를 기억하고 있다가 보여진 순서대로 카드를 선택하는 게임이다. 지금까지 배웠던 기능을 모두 사용하겠지만 특히 대부분의 게임 구현 부분을 액션 기능으로 구현할 예정이다.

7장 애니메이션과 타이머: Animation과 Animate 클래스에 대해 알아보고 애니메이션을 구현할 때 사용되는 SpriteFrame에 대해 알아본다. 그리고 터치 이벤트처럼 어떠한 이벤트가 발생할 때만 동작하는 것이 아니라 계속해서 충돌 체크 등을 확인하기 위해서는 타이머도 필요하다. 코코스2d-x에서 제공하는 schedule 타이머 클래스에 대해서도 살펴본다.

8장 배경 이미지 스크롤: 배경 이미지를 스크롤하는 방법을 다룬다. 이미지가 하나인 배경을 스크롤하는 방법과 여러 개의 이미지로 구성된 배경을 스크롤하는 방법을 살펴보고 배경 스크롤을 좀 더 쉽고 편하게 해주는 ParallaxNode에 대해서도 알아 본다.

9장 실전 게임 #2: 점프맨: 7장, 8장에서 배웠던 애니메이션과 배경 스크롤을 활용해 게임을 만든다. 점프맨 게임은 간단한 횡 스크롤 게임으로, 메뉴 부분은 구현하지 않고 게임 부분만 구현한다.

10장 게임 데이터 관리: 게임에 사용되는 데이터를 효율적으로 관리하는 방법을 알아본다. 간단한 예제 게임을 통해 여러 개의 데이터를 좀 더 효율적으로 관리할 수 있게 해주는 Vector에 대해 살펴보고, 코코스2d-x에서 제공하는 간단한 데이터 저장소인 UserDefault에 대해서도 학습한다.

11장 다양한 이펙트 연출: 코코스2d-x에서 제공하는 파티클 시스템(ParticleSystem)을 사용하는 방법과 사운드 출력 방법을 배워본다. 파티클 시스템은 입자가 되는 작은 이미지를 가지고 다양한 효과를 연출하는 3D 애니메이션 기법을 말한다. 코코스2d-x에서는 기본적인 효과를 제공할 뿐만 아니라 외부 툴에서 만든 파티클도 사용할 수 있다. 그리고 심플 오디오 엔진(Simple Audio Engine)을 사용해서 간단하게 배경 음악과 효과음을 출력할 수 있다.

12장 실전 게임 #3: 미니 플라이트: 10장, 11장에서 배웠던 데이터 활용 및 파티클 효과를 사용해 실전 게임을 만들어본다. 미니 플라이트는 간단한 비행기 슈팅 게임으로 9장과 동일하게 메뉴 부분은 구현하지 않고 게임 부분만 만들어보겠다.

13장 GUI 구성: 13장에서는 코코스2d-x에서 제공하는 클래스 중에서 GUI(Graphical User Interface)를 구성할 때 자주 사용되는 스크롤뷰(ScrollView)와 스케일9스프라이트 (Scale9Sprite), 에디트박스(EditBox)에 대해 알아본다.

14장 네트워크 구현: http 프로토콜 통신인 HttpClient를 사용하는 방법과 서버와 JSON으로 통신하는 방법, 웹에 있는 이미지를 게임에서 사용하는 방법과 웹에 있는 파일을 저장해 사용하는 방법에 대해 알아본다.

15장 안드로이드 포팅과 화면 사이즈 대응: 지금까지 작업한 소스를 가지고 안드로이드 프로젝트로 포팅하는 방법과 다양한 디바이스 화면 사이즈에 대응하는 방법을 알아본다.

16장 배포: 국내 마켓은 가이드라인이 잘 되어 있고, 모두 안드로이드 마켓이기 때문에 구글의 플레이스토어에 배포하는 방법을 알면 쉽게 접근할 수 있다. 그래서 16장에서는 6개 마켓 중에서 한 번에 전 세계로 배포할 수 있는 플레이 스토어와 앱스토어에 배포하는 방법을 배운다.

추천의 글

게임 개발의 효율성을 높이고 비용을 절감하기 위해 2010년 7월에 첫 출범을 한 코코스2d-x는 스마트폰 게임의 연구 개발에 특화되어 있는 오픈 소스 프로젝트입니다. 지난 4년간 모바일 게임 산업은 매우 빠르게 성장해왔으며, 코코스2d-x는 운 좋게도 게임 개발 분야의 수많은 젊은 개발자들을 지원할 수 있었습니다. 유명 게임 「제노니아5」와 「제노니아 온라인」 시리즈, 「라인 퐁퐁퐁」, 「모두의 마블」, 「쿠키런」 류의 대표적인 캐주얼 게임 등을 비롯해, 「2048」과 「메이크잇레인: 러브오브머니(Make it Rain: The Love of Money)」처럼 소규모팀이 만들어 대히트를 기록한 창의력 게임 등, 코코스2d-x로 개발된 게임은 이루 헤아릴 수 없이 많습니다. 이처럼 게임 산업 분야는 수많은 가능성과 기회가 잠재되어 있습니다.

한글 공식 문서가 아직 준비되지 않은 관계로, 그간 많은 한국인 친구들은 코코스2d-x 엔진을 학습할 수 있는 문서나 참고서적이 부족하다는 불편사항을 토로해 왔습니다. 저 또한 이 점에 대해 대단히 죄송하게 생각합니다. 자원의 제약이 많은 오픈 소스 커뮤니티로서 전 세계 규모로 성장해온 코코스2d-x는 무엇보다도 기능 개발과 영문 문서화를 최우선 순위로 삼아왔습니다. 인력 또한 태부족하기에 개발 문서를 다국어로 만드는 일은 아직도 갈 길이 멉니다.

이와 같은 현실에서 인자건 님이 코코스2d-x 3.0 버전의 진정한 첫 한국어 서적을 출간한 것에 깊은 감사를 표하고 싶습니다. 코코스2d-x 커뮤니티에서도 최고 개발자로 손꼽히는 인자건 님은 게임빌, 컴투스 같은 대형 게임사에서 업무를 수행해왔으며, 코코스2d-x로 만든 여러 성공적인 게임 개발을 이끌었습니다. 자신의 경험을 책으로 펴내 다른 개발자들과 공유해준 데 대해 고마움을 전합니다.

2014년 남은 기간 동안 코코스2d-x는 씬 에디터 같은 개발 에디터 제작에 주력할 예정이며, 새로운 3D 기능 또한 곧 출시될 예정입니다. 코코스2d-x가 개발자 여러분께 자유로운 세상을 열어줄 수 있기를 기원하며, 이 책을 펴든 여러분이 각자의 꿈을 실현하는 데에 우리의 땀과 노력이 기여할 수 있기를 진심으로 바랍니다.

왕저(王哲, Zhe Wang) / 추콩 테크놀로지 부사장 겸 코코스2d-x 창립자

우리나라 모바일 게임 시장은 전 세계적으로도 주목할 만한 새로운 흐름을 쉬지 않고 만들어 내면서 하루가 다르게 급변하고 있다. 아마도 어떤 국가보다도 경쟁이 치열하고 역동적인 시장일 것이다.

국내에서는 이를 뒷받침하는 개발 환경으로 유니티3D(Unity3D)나 언리얼(Unreal) 같은 3D 게임 엔진이 각광을 받고 있다. 한편 2D 게임 개발 환경에서는 코코스2d-x(Cocos2d-x)가 거의 유일한 선택으로 자리잡았다. 실제로 PC 온라인과 달리 모바일 플랫폼에서는 2D 게임이 상당한 비중을 차지하고 있는데, 3D 개발 환경에 대한 선망으로 인해, 실제 현업 수요에 비해 양질의 코코스2d-x 참고 서적이 매우 드물었다. 다행히도, 최근 들어 양질의 번역서와 아울러 국내 저자의 저서들이 속속 출간되고 있는데 이 책 『Cocos2d-x 모바일 게임 프로그래밍』도 모바일 분야에 새로 도전하는 개발자들에게 좋은 길잡이가 되리라 믿는다.

이 책의 저자 인자건 님은 국내 유수 모바일 게임사에서 10년이 넘는 기간 동안 개발의 최전선에서 활약해왔다. 따라서 어떤 저자의 책보다 실전적인 관점에서 코코스2d-x에 접근한다.

구슬이 서 말이라도 꿰어야 보배란 말이 있다. 아무리 실전적이고 좋은 내용이라도 쉽게 전달하지 못한다면 아무 소용이 없다. 저자는 현업 개발로 바쁜 와중에도 다년간 코코스2d-x를 비롯한 게임 프로그래밍 강의 활동을 꾸준히 해왔다. 이 책은 수년 동안 이어온 게임 개발 강의에서 활용하고 다듬어온 강의 자료가 밑바탕이 된 것으로 알고 있다. 따라서 현장 강의를 듣는 것처럼 손쉽게 독자들에게 전달될 것이라고 기대한다.

우리나라 모바일 게임 시장은 경쟁이 매우 치열하긴 하지만, 재능과 열정을 가진 인재에게는 다른 어떤 분야와도 비견할 수 없는 큰 보상을 주는 곳이다. 또한 가까운 미래에 우리나라 모바일 게임들이 국내 시장을 넘어 전세계 시장을 주도할 것이라고 예상한다. 이 책이 여러분이 그러한 큰 도전의 첫 걸음을 내딛는 데 좋은 길잡이가 되리라 기대한다.

박기성 / 게임빌 PD

저자/역자 소개

지은이의 말

제가 모바일 게임 개발을 처음 접한 2002년은 이제 막 우리나라에서 모바일 게임을 개발하기 시작하던 때이기도 했습니다. 당시에 모두가 쓰던 피처폰에 비하면 지금의 스마트폰은 게임 개발에 제약이 거의 없을 정도로 많은 기능을 제공하며, 이에 따라 모바일 게임 또한 고용량, 고스펙의 게임으로 진보하고 있습니다. 하지만, 개발자 입장에서 본다면 모바일 게임을 만들기는 점점 더 복잡해지고, 게임 엔진을 사용하지 않고 네이티브 언어만으로 개발한다는 것은 더욱 힘들어지는 상황이 되었습니다.

그러던 중 코코스2d-x라는 멀티플랫폼 게임 엔진을 접하게 되었습니다. 코코스2d-x가 안드로이드와 iOS 게임을 동시에 개발할 수 있으며 C++ 언어로 개발이 가능하다는 것은 굉장히 매력적이었습니다. 특히 2D 게임을 주로 개발하는 저에게는 최고의 게임 엔진이라 할 수 있었습니다.

제가 코코스2d-x를 처음 접한 2011년도만 해도 출판된 책은 물론 제대로 된 한글 문서조차 없었습니다. 그래서 오랜 모바일 게임 개발 경험을 바탕으로 직접 책을 집필하기로 마음을 먹고 집필을 시작했습니다. 하지만, 책을 쓴다는 것은 생각보다 쉽지 않았고 더욱이 직장 생활을 병행하는 저에게는 더욱 힘든 일이었습니다. 이렇게 인고의 시간을 보내 결국, 집필하기로 결심한 지 2년 6개월 만에 드디어 이렇게 한 권의 책을 출간하게 되었습니다.

전 세계적으로 볼 때 모바일 게임 시장은 크게 안드로이드와 iOS 플랫폼으로 양분되어 있습니다. 시장점유율만 봤을 때는 안드로이드의 비율이 iOS보다 월등히 높으며, 특히 우리나라에서는 안드로이드의 점유율이 80% 이상을 차지하고 있습니다. 하지만, iOS는 두터운 열혈 사용자들과 유럽과 북미 시장을 생각하면 결코 포기할 수 없는 개발 플랫폼입니다.

몇 년 전만 하더라도 안드로이드와 iOS 게임을 각각의 개발 언어로 따로 개발해야 했습니다. 하지만, 최근에 코코스2d-x와 유니티 같은 멀티 플랫폼 게임 엔진이 속속 등장하면서 개발자들은 게임을 좀 더 쉽게 개발할 수 있게 되었습니다.

코코스2d-x는 개발자들이 가장 많이 사용하는 개발 언어인 C++로 개발이 가능하며, 라이브러리를 추가하는 방식이기 때문에 용량에 대한 부담 없이 손쉽게 게임을 개발할 수 있습니다. 또한 코코스2d-x에서 제공하는 모든 기능에 대한 소스 코드가 공개되어 있기 때문에 좀 더 다양한 활용이 가능합니다.

이 책에서 다루는 기본적인 코코스2d-x에 대한 기능 설명뿐만 아니라 모바일 게임 개발에 필요한 다양한 내용 등을 통해 여러 게임 개발자가 나래를 활짝 펼 수 있기를 바라겠습니다.

인자건

지은이 소개

인자건

연세대학교 대학원에서 컴퓨터 공학을 전공하고, 해군본부에서 전산장교로 군복무를 한 후, 2002년부터 지금까지 모바일 게임을 개발하고 있다. 게임빌, 컴투스 등의 모바일 게임회사에서 개발 팀장 및 PD을 역임했고, 현재는 동아닷컴 게임 아카데미인 스킬트리랩(skilltreelab.co.kr)에서 전임 강사로 근무 중이다. 서강대학교 게임교육원에서 자료구조, 멀티미디어설계, 게임 툴 프로그래밍 등의 과목을 강의했으며, 2013년부터 코코스2d-x 게임 개발 과정을 강의하고 있다.

목차

목차
  • 1장 소개
    • 1.1 소개
      • 1.1.1 역사
      • 1.1.2 사용 현황
      • 1.1.3 특징
      • 1.1.4 유니티 게임 엔진과 장단점 비교
    • 1.2 개발 환경 구축
      • 1.2.1 코코스2d-x 다운로드
    • 1.3 프로젝트 생성
      • 1.3.1 파이썬 설치
      • 1.3.2 프로젝트 생성 파일 실행
      • 1.3.3 프로젝트 실행
    • 1.4 실습용 기본형 프로젝트 생성
      • 1.4.1 화면 사이즈 변경
      • 1.4.2 로그 제거
      • 1.4.3 리소스 삭제
    • 1.5 정리

  • 2장 기본 기능
    • 2.1 좌표계와 앵커포인트
      • 2.1.1 좌표계
      • 2.1.2 앵커포인트
    • 2.2 이미지 출력
      • 2.2.1 스프라이트 사용
      • 2.2.2 코코스2d-x의 기본 자료형
      • 2.2.3 cocos2d-x의 기본 메소드
      • 2.2.4 스프라이트를 이용해 화면 구성
    • 2.3 텍스트 출력
      • 2.3.1 SystemFont
      • 2.3.2 TTF
      • 2.3.3 BMFont
      • 2.3.4 CharMap
      • 2.3.5 기타 메소드
      • 2.3.6 다양한 라벨 사용
    • 2.4 메뉴 버튼 생성
      • 2.4.1 메뉴 아이템
      • 2.4.2 메뉴 위치 설정
    • 2.5 Hello World
      • 2.5.1 Menu
      • 2.5.2 Label
      • 2.5.3 Sprite
    • 2.6 정리

  • 3장 다양한 액션 기능
    • 3.1 액션 기능
      • 3.1.1 액션 기능을 사용하지 않고 이미지 이동
      • 3.1.2 액션 기능으로 이미지 이동
      • 3.1.3 By와 To의 차이
    • 3.2 기본 액션
      • 3.2.1 위치
      • 3.2.2 크기
      • 3.2.3 회전
      • 3.2.4 화면 출력
      • 3.2.5 투명도
      • 3.2.6 색상
    • 3.3 응용 액션
      • 3.3.1 시퀀스 액션
      • 3.3.2 스폰 액션
      • 3.3.3 리버스 액션
      • 3.3.4 딜레이타임 액션
      • 3.3.5 반복, 무한반복 액션
      • 3.3.6 이즈 액션
      • 3.3.7 콜 펑션 액션
    • 3.4 정리

  • 4장 게임 화면의 전환
    • 4.1 새로운 화면 생성
    • 4.2 화면 전환
      • 4.2.1 replaceScene
      • 4.2.2 pushScene, popScene
    • 4.3 화면 전환 효과 설정
      • 4.3.1 화면 전환 효과의 종류
      • 4.3.2 화면 전환 효과 적용
    • 4.4 새로운 레이어 추가
    • 4.5 정리

  • 5장 터치 이벤트와 충돌 체크
    • 5.1 터치 이벤트
      • 5.1.1 싱글 터치 이벤트
      • 5.1.2 멀티 터치 이벤트
      • 5.1.3 iOS에서의 멀티 터치 설정
    • 5.2 충돌 체크 구현
      • 5.2.1 containsPoint
      • 5.2.2 intersectsRect
    • 5.3 터치 이벤트와 충돌 체크 사용
    • 5.4 정리

  • 6장 실전 프로젝트 #1: 기억력 게임
    • 6.1 게임 구성
      • 6.1.1 메뉴 화면
      • 6.1.2 게임 화면
      • 6.1.3 리소스 추가
    • 6.2 세로 화면으로 구현
    • 6.3 메뉴 화면 구현
    • 6.4 게임 화면 구현
      • 6.4.1 게임 데이터 초기화
      • 6.4.2 게임 화면 구성
      • 6.4.3 게임 시작
      • 6.4.4 카드 보여주기
      • 6.4.5 터치 이벤트
      • 6.4.6 카드 선택
      • 6.4.7 게임 종료
      • 6.4.8 게임 종료 메뉴
    • 6.5 정리

  • 7장 애니메이션과 타이머
    • 7.1 아틀라스 이미지
      • 7.1.1 아틀라스 이미지 생성
      • 7.1.2 아틀라스 이미지 사용
    • 7.2 애니메이션
      • 7.2.1 이미지 파일을 사용해 애니메이션 구현
      • 7.3.2 스프라이트 프레임을 사용해 애니메이션 구현
    • 7.3 스케줄 사용
    • 7.4 정리

  • 8장 배경 이미지 스크롤
    • 8.1 단일 이미지 배경 스크롤 구현
    • 8.2 다중 이미지 배경 스크롤 구현
    • 8.3 ParallaxNode를 사용해 배경 스크롤 구현
    • 8.4 타일을 사용해 배경 스크롤 구현
    • 8.5 정리

  • 9장 실전 게임 #2: 점프맨
    • 9.1 게임 구성
    • 9.2 배경 스크롤 구현
    • 9.3 캐릭터 애니메이션 구현
    • 9.4 터치 이벤트로 캐릭터 점프 구현
    • 9.5 장애물 생성과 이동 구현
    • 9.6 장애물과 캐릭터 충돌 체크 처리
    • 9.8 정리

  • 10장 게임 데이터 관리
    • 10.1 스마일 잡기 게임
    • 10.2 여러 개의 데이터 관리
    • 10.3 데이터 저장소 활용
      • 10.3.1 저장소에 저장
      • 10.3.2 저장소에서 불러오기
    • 10.4 최고 점수 구현
    • 10.5 정리

  • 11장 다양한 이펙트 연출
    • 11.1 파티클 시스템
      • 11.1.1 기본 파티클
      • 11.1.2 파티클 효과 생성
    • 11.2 사운드 출력
      • 11.2.1 배경 음악 출력
      • 11.2.2 배경 음악 관련 메소드
      • 11.2.3 효과음 출력
      • 11.2.4 효과음 관련 메소드
      • 11.2.5 사운드 관련 기타 메소드
    • 11.3 정리

  • 12장 실전 게임 #3: 미니 플라이트
    • 12.1 게임 구성
      • 12.1.1 클래스 이름 변경
      • 12.1.2 리소스 추가
      • 12.1.3 방향 변경
    • 12.2 배경 구성과 스크롤 구현
    • 12.3 플레이어 비행기 생성
    • 12.4 터치 이벤트로 플레이어 비행기 제어
    • 12.5 아이템 생성
    • 12.6 아이템 효과 적용
    • 12.7 적 비행기 생성
    • 12.8 적 비행기와 충돌 체크 구현
    • 12.9 적 비행기 폭발 구현
    • 12.10 보스 비행기 구현
    • 12.11 점수 기록
    • 12.12 정리

  • 13장 GUI 구성
    • 13.1 스크롤뷰
      • 13.1.1 스크롤뷰 구현
      • 13.1.2 스크롤뷰 설정
    • 13.2 스케일 9스프라이트
    • 13.3 에디트박스
      • 13.3.1 에디트박스 설정
      • 13.3.2 델리게이트
    • 13.4 정리

  • 14장 네트워크 구현
    • 14.1 HttpClient 사용
    • 14.2 JSON을 사용한 통신
    • 14.3 웹에 있는 이미지 출력
    • 14.4 웹에 있는 파일 저장
    • 14.5 정리

  • 15장 안드로이드 포팅과 화면 사이즈 대응
    • 15.1 안드로이드 포팅 환경 구축
      • 15.1.1 안드로이드 개발 환경 구축
      • 15.1.2 NDK 설치
      • 15.1.3 ANT 설치
      • 15.1.4 코코스2d-x 환경 설정
    • 15.2 안드로이드 컴파일
    • 15.3 안드로이드 컴파일 설정
    • 15.4 안드로이드 실행
    • 15.5 이클립스에서 실행
    • 15.6 다양한 화면 사이즈 대응
    • 15.6 정리

  • 16장 배포
    • 16.1 구글 플레이스토어에 배포
      • 16.1.1 구글 아이디 생성
      • 16.1.2 플레이스토어 개발자 계정 등록
      • 16.1.3 플레이스토어 배포용 빌드생성
      • 16.1.4 플레이스토어에 배포
    • 16.2 애플 앱스토어에배포
      • 16.2.1 개발자 프로그램 등록
      • 16.2.2 인증서와 프로비저닝파일 생성
      • 16.2.3 앱스토어 어플 등록
      • 16.2.4 앱스토어 배포용 빌드업로드
    • 16.3 정리

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

1쇄 수정사항

[p.34 주석1]
1 이 책은 2014년 4월 25일에 배포된 v3.0 final 버전을 기반으로 작성되었습니다.

-> 1 이 책은 2014년 4월 23일에 배포된 v3.0 버전을 기반으로 작성되었고, 2014년 7월 18일에 배포된 v3.2 버전에서도 동일하게 동작합니다.

[p.80 8행~11행]
사용할 때는 일반적인 내장 ttf를 사용하는 것과 동일하게 createWithSystemFont() 메소드를 사용해서 파일 확장자명의 입력은 필요 없고, 폰트의 이름만 입력하면 됩니다. 그렇기 때문에 외부 ttf 파일을 사용할 때는 안드로이드와 iOS의 소스 코드가 조금 달라지게 됩니다.

-> 이렇게 입력한 후 win32와 안드로이드와 동일하게 예제 2.13과 같이 createWithTTF() 메소드를 사용해서 출력하면 됩니다.

[p. 81 그림 2.17 변경]

[p. 361]
예제 12.34 -> 예제 12.35

[p. 361 1행]
예제 12.34는 -> 예제 12.35는

[p. 362]
예제 12.35 -> 예제 12.36

[p. 362 1행]
예제 12.35는 -> 예제 12.36은

[p. 363]
예제 12.36 -> 예제 12.37

[p. 363 4행]
예제 12.36은 -> 예제 12.37은

[p. 366]
예제 12.37 -> 예제 12.38

[p. 366 1행]
예제 12.37은 -> 예제 12.38은

[p. 367]
예제 12.38 -> 예제 12.39

예제 12.39 -> 예제 12.40

[p. 367 1행]
예제 12.38은 -> 예제 12.39는

[p. 368 1행]
예제 12.39는 -> 예제 12.40은

[p. 405 24행, p. 406 1행 ~ 6행]

[#if CCPLATFORMWIN32]
[#include ]
[#if CCPLATFORMANDORD]
[#include ]
[#if CCPLATFORMIOS]
[#include ]
[#endif]

->

[#if (CCTARGETPLATFORM == CCPLATFORMWIN32)]
[#include ]
[#if (CCTARGETPLATFORM == CCPLATFORMANDROID)]
[#include ]
[#if (CCTARGETPLATFORM == CCPLATFORMIOS)]
[#include ]
[#endif]

대괄호는 정오표 등록을 위한 형식일뿐 코드와 상관없습니다.