Cocos2d-x로 멀티플랫폼 게임 개발에 입문한다!
윈도우와 맥 환경에서 이뤄지는 아이폰, 안드로이드 게임 프로그래밍
Cocos2d-x는 기존의 cocos2d와 달리 멀티플랫폼을 지원하는 2D 게임 엔진이다. 하나의 소스로 수정 없이 아이폰, 안드로이드, 바다, 블랙베리, 윈도우폰 등에 앱을 만들 수 있고, 윈도우와 맥 환경에서 모두 이용할 수 있다. 아울러 Cocos2d-x의 가장 큰 장점은 각 플랫폼의 개발 도구를 그대로 이용할 수 있다는 점이다. 즉, 윈도우에서는 비주얼 스튜디오로, 맥에서는 Xcode로 개발할 수 있으며, 심지어 이클립스에서도 개발할 수 있다.
《시작하세요! Cocos2d-x 프로그래밍》에서는 윈도우와 맥 환경에서 Cocos2d-x를 설치하는 방법부터 시작해 멀티플랫폼 개발을 위한 환경 구축, 기초적인 오브젝트 사용법, 그리고 이어지는 각종 실용적인 예제를 소개한다. 하나의 소스로 멀티플랫폼을 지원하는 Cocos2d-x로 게임이나 멀티미디어 북 등을 손쉽고 빠르게 만들고 싶은 개발자라면 이 책이 많은 도움이 될 것이다.
이 책은 Cocos2d-x를 이용한 게임 개발에 대해 기초부터 중급까지 다루는 책입니다. 읽기 쉬운 스타일로 핵심을 다루는 쉬운 예제와 실행 화면으로 구성된 이 책은 Cocos2d-x에 대해 목말라하는 초보자는 물론 고급 독자가 모두 쉽고 빠르게 Cocos2d-x를 이해하고 사용할 수 있게 도와줍니다. 모든 예제는 최신 버전인 cocos2d-2.0-x-2.0.4로 만들어졌습니다.
게임을 만들고 싶으신가요?
멀티미디어 북을 만들고 싶으신가요?
하나의 소스로 여러 플랫폼을 지원하고 싶으신가요?
다양한 모바일 폰에 여러분만의 게임을 만들고 싶다면 이 책을 읽어보세요.
이미 아이폰 개발자이거나 안드로이드 개발자라면 Cocos2d-x를 이용한 게임 개발은 그렇게 어렵지 않습니다. 아울러 비주얼 스튜디오를 사용했던 윈도우 개발자도 접근하기 쉽습니다. 개발 언어가 C 이긴 하지만 C 에 대한 두려움은 잊어도 좋습니다. 이 책은 여러분의 첫 번째 게임 앱을 만드는 데 필요한 단계별 과정을 하나씩 상세히 소개합니다. ★ 이 책에서 다루는 내용
- Cocos2d-x 소개 및 설치
- Cocos2d-x의 구성 요소 및 주요 기능
- Cocos2d-x를 이용한 게임 개발 기법
- Cocos2d-x에서 Box2D 사용하기
이재환
대학교에서 회계학을 전공했지만 SI로 첫 직장생활을 시작해 지금까지 18년간 개발자로 일해왔다. 은행 폰뱅킹 및 카드사 인터넷 온라인 시스템 등을 개발했으며, 1999년 무렵 우리나라에 메일 서비스 경쟁이 한창 심화될 때는 자바로 자체 제작한 메일 엔진 서버로 기업, 대학 및 관공서에 납품 및 수출까지 했다. 지난 3년간은 아이폰 및 안드로이드 앱을 만들며 애플 앱스토어와 구글 마켓에 본인 및 외주 건으로 약 35여건을 등록했다. 현재는 프리랜서로 아이폰 및 안드로이드 앱 개발을 하고 있으며, 다수의 앱센터에서 아이폰 개발을 강의하고 T아카데미에서 아이폰 증강현실 과정을 강의하고 있다.
- ▣ 01장: Cocos2d-X 설치
- Cocos2d-X의 장점
- Cocos2d-X에서 제공하는 기능
- Cocos2d-X의 개발 환경
- Cocos2d-X 다운로드
- 윈도우에서 Cocos2d-X 설치
- 맥에서 Cocos2d-X 설치
- 윈도우용 프로젝트를 iOS용 프로젝트로 포팅하기
- iOS 프로젝트를 안드로이드 프로젝트로 포팅하기
- iOS 프로젝트와 안드로이드 프로젝트 통합
- 윈도우용 프로젝트와 iOS용 프로젝트의 코드상의 차이점
- ▣ 02장: Cocos2d-X의 기본구조
- CCNode
- CCDirector
- CCScene과 CCLayer
- CCSprite
- CCAction
- ▣ 03장: 좌표계와 앵커포인트
- 좌표계
- 앵커포인트(AnchorPoint)
- ▣ 04장: 프로젝트 기본형 만들기
- 윈도우에서 프로젝트 기본형 만들기
- 맥에서 프로젝트 기본형 만들기
- ▣ 05장: 레이블 사용하기
- CCLabelTTF 기본형
- 트루 타입 폰트 파일 사용하기
- 비트맵 폰트 파일과 캐릭터맵을 이용한 텍스트 출력
- ▣ 06장: 스프라이트 사용하기
- 스프라이트 사용하기
- 부모 스프라이트 & 자식 스프라이트
- ▣ 07장: 메뉴 사용하기
- 메뉴와 메뉴아이템의 기본 사용법
- 메뉴 & 메뉴 아이템의 앵커포인트와 위치
- 메뉴 아이템에서 태그 사용하기
- ▣ 08장: 액션 사용하기
- 기본 액션
- 복합 액션(Composition Actions)
- CCSequence
- CCSpawn
- Reverse
- CCDelayTime
- CCRepeat, CCRepeatForever
- 이즈 액션(Ease Actions)
- Ease Actions
- EaseExponential Actions
- EaseSine Actions
- EaseElastic actions
- EaseBounce actions
- EaseBack actions
- CCSpeed action
- 콜백 액션
- ▣ 09장: 트랜지션 사용하기
- 장면의 추가, 삭제, 교체
- 장면 트랜지션
- 장면의 생성 및 소멸 순서
- ▣ 10장: 애니메이션 사용하기
- 애니메이션 기초
- 스프라이트배치노드
- 스프라이트배치노드의 응용
- 스프라이트배치노드를 이용한 애니메이션
- 애니메이션 종합
- Zwoptex로 스프라이트배치노드 만들기
- ▣ 11장: 사운드 사용하기
- 심플오디오엔진의 기본 사용법
- 효과음 내기
- 효과음 사용전 준비
- 효과음 메모리 해제
- 배경음 내기
- 배경음 일시 정지
- 배경음 다시 시작
- 배경음 정지
- 배경음 재시작
- 배경음 사용 전 준비
- 배경음 메모리 해제
- 심플오디오엔진의 사용 예
- ▣ 12장: 터치 사용하기
- 스탠다드 터치 델리게이트
- 타켓 지정 터치 델리게이트
- 스탠다드 터치 델리게이트 예
- 타켓지정 터치 델리게이트 예
- 멀티터치
- ▣ 13장: 스케줄 사용하기
- 스케줄 기초
- 스케줄의 정지 / 재시작
- ▣ 14장: 패럴렉스노드 사용하기
- 패럴렉스노드 기본 사용법
- 디바이스보다 큰 배경 스크롤하기
- 배경과 스프라이트 동시에 움직이기
- 이동 버튼으로 배경 움직이기
- 배경과 캐릭터 스프라이트 같이 이동시키기
- 캐릭터 배경 끝까지 이동시키기
- ▣ 15장: 타일맵 사용하기
- 타일맵이란?
- 정사각형(Orthogonal) 맵
- 마름모형(Isometric) 맵
- 육각형(Hexa) 맵
- 타일맵 만들기
- 타일맵 출력하기
- 타일맵에 레이어 추가하기
- 드래곤 이동 만들기
- 드래곤 이동시 장애물 만들기
- 드래곤이 먹을 아이템 만들기
- 타일맵이란?
- ▣ 16장: 파티클 사용하기
- 파티클 시스템이란?
- 파티클 시스템 사용해 보기
- 모닥불 효과
- 작은 태양 효과
- 우주 효과
- 연기 효과
- 별똥별 효과
- 꽃 효과
- 불꽃놀이 효과
- 폭발 효과
- 파티클 시스템 : 눈, 비 내리기
- 파티클 시스템 : 좀 더 복잡한 파티클 효과
- 파티클 디자이너
- ▣ 17장: 데이터 저장하기
- 데이터 저장
- String형 저장, 읽기
- Integer형 저장, 읽기
- Float형 저장, 읽기
- Double형 저장, 읽기
- Bool형 저장, 읽기
- CCUserDefault 클래스의 사용 예
- 데이터 저장
- ▣ 18장: 사용자 입력 사용하기
- 사용자 입력
- ▣ 19장: HTTP 통신 사용하기
- HTTP 통신 사용하기
- ▣ 20장: XML 사용하기
- XML 사용하기
- ▣ 21장: JSON 사용하기
- JSON 사용하기
- ▣ 22장: 스크롤뷰 사용하기
- 스크롤뷰 - CCScrollView
- 스크롤뷰 사용법
- 스크롤뷰 - CCScrollView
- ▣ 23장: 중력 가속도계 사용하기
- 중력 가속도계
- 중력 가속도계 사용법
- 중력 가속도계
- ▣ 24장: 충돌 검사
- 충돌 검사
- 화면 세로로 사용하기
- OpenGL 방식
- iOS의 뷰컨트롤러 방식
- 안드로이드의 경우
- 벽돌 격파 게임
- 충돌 검사
- ▣ 25장: 실전 프로젝트
- 게임 진행 프로세스
- 실전! 프로젝트
- ▣ 26장: Box2D 물리 엔진 사용하기
- 물리 엔진 소개
- 박스2D
- 칩멍크
- 물리 엔진의 선택
- 박스2D의 기본 개념
- 박스2D 템플릿 재조립 및 분석
- 박스2D 디버그 모드 설정하기
- 복잡한 모양의 바디 추가
- 바디의 종류
- 조인트
- 마우스 조인트
- 리볼루트 조인트
- 웰드 조인트
- 프리스마틱 조인트
- 디스턴스 조인트
- 로프 조인트
- 프릭션 조인트
- 풀리 조인트
- 기어 조인트
- 휠 조인트
- 충돌 처리
- 충돌 주기