지은이의 말 ... 4 CHAPTER 1 cocos2d-x 소개 1.1 다른 모바일 게임 엔진과의 차이점 및 특징 ... 17 CHAPTER 2 설치 및 테스트 2.1 cocos2d-x 다운로드 ... 19 2.2 Android용 프로젝트 생성 및 샘플 프로그램 실행 ... 21 Android 윈도 개발 환경 설정 ... 21 Android 맥 개발 환경 설정 ... 47 2.3 iOS용 프로젝트 생성 및 샘플 프로그램 실행 ... 63 CHAPTER 3 퍼즐 게임 소개 3.1 게임 방법 및 목적 ... 69 3.2 소셜성 ... 71 CHAPTER 4 퍼즐 게임 프로젝트 생성 4.1 Android용 퍼즐 게임 프로젝트 생성 ... 73 Android 윈도 프로젝트 생성 ... 73 Android 맥 프로젝트 생성 ... 78 프로젝트 빌드 설정 ... 83 4.2 iOS용 퍼즐 게임 프로젝트 생성 ... 98 4.3 리소스 및 소스코드 공유 ... 102 iOS ... 103 Android ... 109 4.4 기본 생성된 코드 분석 ... 110 CHAPTER 5 퍼즐 게임 스테이지 구현 5.1 게임 스테이지 만들기 ... 119 게임 스테이지 파일 추가 ... 120 GameLayer 클래스 추가 ... 127 배경 이미지 추가 ... 131 오리엔테이션(Orientation) ... 136 다양한 해상도 지원 ... 140 공통 선언 파일 ... 143 네임스페이스(Namespace) ... 145 5.2 게임 오브젝트 배치 ... 148 게임 오브젝트 그리기 ... 149 게임 오브젝트 모두 배치하기 ... 153 7가지 종류의 게임 오브젝트 배치하기 ... 156 좌표 계산 유틸리티 클래스 ... 159 Z Order(우선 순위) ... 162 5.3 게임 오브젝트 클래스 생성 ... 166 cocos2d-x 메모리 관리 ... 173 CHAPTER 6 게임 오브젝트 움직여보기 6.1 터치 인터페이스 구현 ... 177 화면 터치 ... 179 이동과 떼임 ... 184 6.2 게임 오브젝트 이동 ... 186 게임 오브젝트 좌표 찾기 ... 186 이동 판별 및 교환 ... 189 6.3 액션(Action)의 추가 ... 195 액션이란? ... 195 이동 액션 ... 196 액션의 연속(Sequence) 및 콜백 함수 ... 200 CHAPTER 7 퍼즐 게임 로직 구현 7.1 게임 오브젝트 매칭 ... 207 이동 완료 핸들러 추가 ... 208 이동 완료 이벤트 처리 ... 213 매칭 로직 ... 214 7.2 비매칭 시 복귀 ... 228 7.3 게임 오브젝트 낙하 처리 및 생성 ... 233 낙하 처리 ... 233 새로운 게임 오브젝트의 낙하 ... 241 낙하 후 매칭 확인 ... 246 7.4 점수 계산 및 콤보 구현 ... 253 시작 위치의 설정 ... 253 콤보 레이블(Label) 추가 ... 256 콤보 로직 구현 ... 267 점수 계산 ... 272 CHAPTER 8 슈팅 게임 소개 8.1 게임 방법 및 목적 ... 278 CHAPTER 9 슈팅 게임 프로젝트 생성 9.1 Android용 슈팅 게임 프로젝트 생성 ... 281 Android 윈도 프로젝트 생성 ... 281 Android 맥 프로젝트 생성 ... 283 프로젝트 빌드 설정 ... 286 9.2 iOS용 슈팅 게임 프로젝트 생성 ... 299 9.3 리소스 및 소스 코드 공유 ... 302 iOS ... 303 Android ... 308 CHAPTER 10 슈팅 게임 스테이지 구현 10.1 게임 스테이지 만들기 ... 311 GameLayer 클래스 추가 ... 312 배경 이미지 추가 ... 314 오리엔테이션 설정 ... 316 다양한 해상도 지원 ... 320 10.2 배경화면 스크롤 ... 323 원리 ... 323 스크롤 구현 ... 324 CHAPTER 11 헬리콥터 11.1 빠른 렌더링을 위한 SpriteBatchNode ... 334 11.2 빠른 렌더링을 위한 Atlas Texture 생성 ... 336 TexturePacker 설치 ... 336 TexturePacker 사용법 ... 339 11.3 헬리콥터 생성 ... 342 11.4 프로펠러 추가 ... 349 CHAPTER 12 헬리콥터 이동 처리 CHAPTER 13 적 비행기의 출현 13.1 적 비행기 생성 및 배치 ... 363 13.2 적 비행기의 이동 ... 372 13.3 적 비행기 등장 빈도 조절 ... 380 13.4 비행 대형 추가 ... 383 13.5 색상 변경 ... 389 CHAPTER 14 총알 14.1 총알 이미지 준비 ... 400 14.2 총알 추가 ... 401 CHAPTER 15 충돌 처리 15.1 적 비행기와 총알의 충돌 ... 413 15.2 적 비행기와 헬리콥터의 충돌 ... 419 CHAPTER 16 아이템 16.1 아이템 생성 ... 432 16.2 아이템의 획득 및 듀얼샷 ... 446 CHAPTER 17 소셜 네트워크 17.1 시작 Scene 추가 ... 458 17.2 친구 리스트 추가 ... 465 17.3 전화번호부 연동 ... 481 iOS ... 482 Android ... 502 CHAPTER 18 배포 18.1 구글 플레이 스토어에 배포하기 ... 520 구글 플레이 스토어 개발자 등록 ... 520 애플리케이션 등록 정보 입력 ... 522 APK 파일 생성 ... 526 APK 파일 등록 ... 532 가격 및 배포 ... 534 게시 ... 535 18.2 애플 앱 스토어에 배포하기 ... 536 애플 앱 스토어 개발자 등록 ... 537 개발 인증서 생성 ... 539 사용할 디바이스 등록 ... 549 App ID 생성 ... 552 Provisioning Profile 생성 ... 555 앱 등록하기 ... 560 배포용 인증서 및 Provisioning Profile 생성 ... 569 앱 업로드 준비 ... 570 앱 패키지 생성 및 업로드 ... 572 부록 A. cocos2d-x 3.0과의 차이점 ... 577 부록 B. cocos2d-x 3.0용 프로젝트 생성 방법 ... 581 부록 C. ShootingGame을 2.X 버전에서 3.0 버전으로 포팅하기 ... 597 부록 D. 샘플 코드의 사용 방법 ... 617 찾아보기 ... 620