이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
Cocos2d for iPhone 한국어판
아이폰 게임을 위한 코코스2d 프로그래밍
베스트
IT 모바일 top100 2주
가격
30,000원
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

1 코코스2d의 기초
___아이폰용 코코스2d 다운로드
____________실습 예제 | 예제 프로젝트 열기
___템플릿 설치
____________실습 예제 | 템플릿 설치
___템플릿으로 신규 프로젝트 제작
____________실습 예제 | HelloCocos2d 프로젝트 생성
___CCDirector로 게임 관리
______CCDirector의 종류
____________실습 예제 | HelloCocos2d의 AppDelegate 관찰
______씬 관리
___CCNode의 화면 표시
____________실습 예제 | HelloWorldLayer 클래스 관찰
______CCNode 프로퍼티
______CCNode 조작
___타이밍 체크
____________실습 예제 | 타이머로 구현하는 자동 발사
___메소드 호출 지연
____________실습 예제 | 부대 파괴
___코코스2d 애플리케이션 디버그
____________실습 예제 | 코코스2d 디버그 메시지 체크
____________실습 예제 | 메모리 해제 메시지 확인
____________실습 예제 | 에러 탐색
____________실습 예제 | 디버그 메시지 제거
___정리

2 스프라이트 활용
___퍼즐 게임 제작
___새 프로젝트 시작
____________실습 예제 | 새 프로젝트 작성
___CCSprite로 이미지 표현
____________실습 예제 | 게임 배경 이미지 추가
______CCSprite 생성
_________픽셀 포맷
_________다른 CCSprite 생성 방법
____________실습 예제 | Stone 클래스 제작
___게임 보드 제작
____________실습 예제 | 돌을 격자에 배열
___스프라이트와 상호 작용
____________실습 예제 | 터치 처리 등록
____________실습 예제 | 터치에 따른 돌 치환
____________실습 예제 | 돌 치환 구현
____________실습 예제 | 짝 맞춤 확인
___돌 낙하
____________실습 예제 | 격자 다시 채우기
______로직 분석
___CCSprite 프로퍼티 조작
____________실습 예제 | 시간 막대 제작
___작동 중 스프라이트 텍스처의 변경
____________실습 예제 | 텍스처의 즉석 변경
______CCTextureCache
___스프라이트시트 적용
____________실습 예제 | 스프라이트시트에서 스프라이트 작성
___Zwoptex를 이용한 스프라이트시트 작성
____________실습 예제 | 스프라이트시트로 돌 이미지 추가 제작
___이미지 사전 로드
____________실습 예제 | 이미지 사전 로드
___오픈지엘 호출
____________실습 예제 | 치환할 돌 선택
___정리

3 액션 적용
___기본 액션
____________실습 예제 | 부드러운 돌 낙하
______다른 기본 액션 사용
____________실습 예제 | 돌 제거의 액션 처리
____________실습 예제 | 시간 막대 색깔 변경
___복합 액션
____________실습 예제 | 사라짐 효과
______복합 액션의 종류
____________실습 예제 | 떨어진 돌 확대
____________실습 예제 | 격자 애니메이션 효과
___완화 액션
____________실습 예제 | 완화 액션으로 애니메이션 수정
___효과 액션
____________실습 예제 | 배경 흔들기
______여러 CCNode에 한 액션 적용
___특수 액션
____________실습 예제 | 제자리, 준비, 출발!
______CCCallFuncND 사용법
____________실습 예제 | 시간 막대 점멸
___애니메이션 액션
____________실습 예제 | 돌의 애니메이션 적용
______CCSpriteFrame과 CCSpriteFrameCache
______CCAnimation 클래스
___정리

4 레이블 추가
___CCLabelTTF 사용
____________실습 예제 | 게임 설명서
___CCLabelAtlas로 텍스트 출력
____________실습 예제 | CCLabelAtlas로 점수 표시와 갱신
___CCLabelBMFont로 텍스트 작성
____________실습 예제 | 진행 상황 표시
____________실습 예제 | 텍스트 액션
___비트맵 글꼴 도구로 글꼴 맵 작성
____________실습 예제 | 자체 비트맵 글꼴 제작
___게임 마무리
___정리

5 씬, 레이어, 트랜지션
___종 스크롤 슈팅 게임: 에어리얼건
___새 씬 작성
____________실습 예제 | 스플래시와 메인 메뉴 씬 작성
___씬 전환 트랜지션 적용
____________실습 예제 | 씬 간 이동 개선
___게임 로직 구현
______게임 준비
______주인공 제작
____________실습 예제 | Hero 클래스 제작
______적군 제작
____________실습 예제 | 적군 출현
___총알 제작
____________실습 예제 | 총알 생성과 재사용
___가속도계 입력 처리
____________실습 예제 | 가속도계로 주인공 이동
___레이어의 터치 처리
____________실습 예제 | 총알 발사
___충돌 검사
____________실습 예제 | 적군 격추
____________실습 예제 | 주인공 격추
___씬에 레이어 추가
____________실습 예제 | 상태 표시줄 작성
____________실습 예제 | 일시 정지 메뉴 작성
____________실습 예제 | 게임 비활성 시 일시 정지
___정리

6 메뉴 디자인
___간단한 메뉴 제작
____________실습 예제 | 텍스트 메뉴 추가
___이미지 메뉴 아이템 사용
____________실습 예제 | 난이도 선택 화면 추가
___메뉴 아이템 애니메이션
____________실습 예제 | 메인 메뉴 애니메이션
___토글 메뉴 아이템 사용
____________실습 예제 | 옵션 메뉴 작성
___환경설정 저장과 로드
____________실습 예제 | 옵션 데이터 유지
___정리

7 파티클 시스템 구현
___기본 제공 파티클 시스템
____________실습 예제 | 파티클 테스트 실행
____________실습 예제 | ParticleMeteor 시스템 분석
______파티클 시스템 프로퍼티
___중력 모드 파티클 시스템 구현
______CCParticleSystemPoint
______CCParticleSystemQuad
____________실습 예제 | 폭탄 폭발
___반경 모드 사용
____________실습 예제 | 적군 명중
______파티클 시스템의 이동
___파티클 디자이너로 파티클 시스템 제작
____________실습 예제 | 연기 흔적 효과 작성
___정리

8 타일맵 활용
___타일맵 사용
___타일드로 제작하는 타일맵
____________실습 예제 | 첫 번째 맵 작성
___코코스2d로 타일맵 로드
____________실습 예제 | 타일맵 적용
____________실습 예제 | 타일맵 레이어 액션
____________실습 예제 | 맵 끝 부분 처리
____________실습 예제 | 타일맵 보정
___오브젝트 레이어 활용
____________실습 예제 | 오브젝트 레이어 작성
____________실습 예제 | 오브젝트 레이어 적용
___정리

9 코코스덴션으로 만드는 음향 효과
___코코스덴션
___음향 효과 시작
____________실습 예제 | SimpleAudioEngine 사용
______효과음 처리 메소드
____________실습 예제 | SimpleAudioEngine으로 배경 음악 연주
______배경 음악 처리 메소드
___CDSoundEngine 사용
____________실습 예제 | CDSoundEngine 설정
____________실습 예제 | 폭발 효과음 출력
____________실습 예제 | 음향 파일 비동기 로드
____________실습 예제 | CDAudioManager로 배경 음악 연주
___정리

10 물리 엔진 활용
___물리 엔진 소개
______박스2D
______칩멍크
______물리 엔진 선택
___물리 게임: 토템 밸런스
____________실습 예제 | 칩멍크 템플릿
______cpBody와 cpShape 이해
___게임 제작 준비
___오브젝트 추가
______토템
____________실습 예제 | 다각형 오브젝트 생성
______목표 지점
____________실습 예제 | 목표 지점 작성
______없앨 수 있는 블록
____________실습 예제 | 블록 생성
____________실습 예제 | 터치로 형태 제거
___충돌 검사
____________실습 예제 | 게임 패배 조건
____________실습 예제 | 게임 승리 조건
___정적 형태
___정리

11 소셜네트워크와의 연동
___개발자 등록과 SDK 다운로드
____________실습 예제 | 등록과 SDK 다운로드
___오픈페인트 연동
____________실습 예제 | 오픈페인트 추가
____________실습 예제 | 오픈페인트 대시보드 표시
___순위표 추가
____________실습 예제 | 순위표 생성
___목표 달성 기능 추가
____________실습 예제 | 목표 생성
___오픈페인트 승인 신청
___정리

부록 A 깜짝 퀴즈 정답

저자 소개

저자 : 파블로 루이즈 Pablo Ruiz
경력 6년의 소프트웨어 개발자면서 평생 경력의 게이머이기도 하다. 다양한 프로그래밍 언어로 경력을 쌓은 후에 아이폰 애플리케이션 개발을 시작했고, 아직 해당 분야에서 일하는 중이다. 첫 번째 게임인 아쿠아 러시(Aqua Rush)를 발표한 후에는 쭉 컨설턴트로 일했다. 2010년에 동료와 함께 인피닉스 소프트 디지털 솔루션즈(Infinix Soft-Digital Solutions)를 설립해 모바일 소프트웨어 개발 기술을 타 회사에 제공한다.
역자 : 김주현
25년 전 역자가 아직 초등학생일 때 지방의 한 소도시에 처음 생긴 컴퓨터 학원에 우연히 등록한 이후 지금까지 컴퓨터 외길을 걸어왔으니, 달인은 아니더라도 컴퓨터 OS나 프로그래밍 언어에 크게 구애 받지 않는 경지에는 이른 것 같다. 포항공과대학교에서도 당연히 컴퓨터공학을 전공했고, 네트워크 보안, 모바일 폰 개발 등에 9년간 종사하다 지금은 미국에서 소프트웨어 개발자로 6년째 근무 중이다. 요즘 개발자 대부분이 그렇듯이 스마트폰 게임 개발에도 관심이 많다.

품목정보

발행일
2012년 02월 23일
쪽수, 무게, 크기
468쪽 | 892g | 188*235*30mm
ISBN13
9788960772786

책 속으로

아이폰용 코코스2d(Cocos2d)는 2D 게임과 애플리케이션, 프레젠테이션, 데모 등을 만들기 위한 일종의 프레임워크다. 원래 파이썬(Python) 용으로 개발됐지만 리카르도 케사다(Ricardo Quesada)가 아이폰으로 포팅하면서 MIT 라이선스를 채택한 오픈소스 프로젝트가 됐다.

이 책에서는 코코스2d 프레임워크를 이용한 게임 제작의 기초를 배울 수 있다. 책의 저술 의도 자체가 코코스2d의 가장 중요한 면에 대한 기본 지식을 전달하는 것이어서 많은 주제를 빠르게 훑고 지나가긴 하지만, 대부분 장에서 개별 과제와 연습 예제를 제공하기 때문에 걱정할 필요는 없다. 책에서 세 가지 예제 게임을 만들어 볼 텐데, 각 장의 내용이 이전 장의 내용에 기반을 두지만 또 어떻게 보면 각기 별개 내용을 다루므로 관심 있는 장으로 바로 건너뛰어도 좋다.

코코스2d는 한 번 익히고 나면 당장 게임 제작에 돌입할 수 있을 정도로 쉬우며, 세세한 부분까지 설명하는 주석이 달린 샘플 코드도 프레임워크에서 함께 제공한다.

활발한 커뮤니티는 코코스2d 프레임워크의 최대 강점 중 하나다. 어떤 문제에 부닥치거나 버그를 발견했을 때 코코스2d 포럼에 들러 수많은 이에게서 도움을 받을 수 있다. 포럼에 올라온 많은 개발 팁과 예제 코드를 이용해 독자가 개발하는 게임을 개선할 수도 있다.

코코스2d는 카피레프트(copyleft) 개념을 따르므로 프레임워크 자체에 수정을 가할 때는 그 수정 사항을 보내서 프레임워크에 공식적으로 추가되게 해야 한다. 의무 사항은 아니지만 커뮤니티와 프레임워크 발전에 도움을 주는 일이다.

이 책을 쓰는 시점에서 아이폰용 코코스2d 버전은 0.99.5이다.(2011년 7월 28일 자로 코코스2d 1.0.1이 출시됐고, 2012년 1월 현재 1.1과 2.0의 베타 버전도 다운로드받을 수 있다. - 옮긴이) 저자는 0.7x 대 버전부터 사용하기 시작했는데, 그동안 프레임워크 개발자와 커뮤니티를 통해 이뤄진 굉장한 품질 향상을 목격했고, 이제 코코스2d는 아이폰용 2D 게임 개발에 가장 널리 쓰이는 프레임워크 중 하나가 됐다.

코코스2d로 2D 게임이라면 무엇이든 만들 수 있다. 간단한 퍼즐 게임부터 복잡한 물리 시뮬레이션에 이르기까지 가능하다. 현재 2000종 이상의 애플리케이션이 코코스2d를 이용한 것으로 알려져 있으며, 유명한 게임으로는 트레인야드와 팜빌, 스틱워즈 등을 들 수 있다.---저자 서문 중에서

2009년에 아이폰을 처음 구매한 이후에 개발자라면 누구나 그렇듯 아이폰용 대박 게임의 꿈을 항상 꿔왔다. 그 핑계로 여태껏 아이폰 게임을 정말 많이, 줄잡아 1000개 정도는 직접 테스트해 본 것 같다. 나중에 한 번쯤 참고할 만하겠다 싶은 것들만 남겨둔 게 지금 500개 정도 되니 말이다. 물론 재미없는 건 몇 분 안에 가차 없이 지워버렸다(다행히 새로 나온 게임을 며칠씩만 공짜로 제공하는 사이트가 여럿 있어 비용은 그리 많이 들지 않았다). 그러면서 각 게임의 개발은 어떻게 이뤄졌을까 자연스럽게 관심을 뒀고, 각 게임의 '소개(about)' 메뉴를 꼼꼼히 살펴본 바, 게임 개발 프레임워크로 코코스2d를 사용한 경우를 굉장히 많이 목격했다. 이 책의 머리말에서 저자가 2000종 이상이 코코스2d 앱이라고 했는데, 모르긴 몰라도 지금쯤이면 최소한 그 두 배는 넘지 않을까 싶다. 프레임워크를 공개하지 않은 게임을 고려하면 더 많지 않을까.

코코스2d에 대해 궁금증이 커지던 때 마침 에이콘출판사에서 이 책의 번역을 의뢰해 주셨고, 독자와 같이 배워가는 자세로 번역에 임할 수 있었다. 번역을 끝내고 보니 코코스2d의 간단하고, 강력하고, 다양한 기능에 나 또한 매료됐고, 왜 그렇게 많은 게임이 코코스2d로 개발됐는지 수긍할 수 있었다. 독자도 책을 읽고 나면 분명히 공감하리라 믿는다.

이 책은 그 제목에서 말하듯 초보자를 위한 책이고, 모든 내용을 예제를 통해 설명하고 있어 코코스2d를 처음 접하는 이에게는 안성맞춤이다. 옮긴이인 나도 코코스2d를 처음 써봤지만, 내용을 쉽게 따라가면서 나름대로 잘 이해할 수 있었다. 다만 원문의 예제 코드가 코코스2d 버전 0.99.1에서 0.99.3 정도로 작성돼 있어 최신 코코스2d 1.0.1에서는 작동이 되지 않는 경우가 많았다. 이 번역서에는 당연히 모든 예제 코드가 코코스2d 1.0.1 기준으로 수정됐으니 걱정할 필요는 없다. 또 내가 원문에서 바로 이해하지 못하고 참고 자료를 찾아봐야 했던 부분은 대부분 따로 각주를 달아 뒀으니 독자에게도 도움이 되길 바란다. 이 책으로 멋진 게임이 여럿 탄생하리라 믿는다.

---옮긴이의 말 중에서

출판사 리뷰

아이폰용 코코스2d 프레임워크로 재밌고 신나는 아이폰 게임을 금세 제작할 수 있도록 도와주는 책이다. 『Cocos2d for iPhone 한국어판』에서는 코코스2d로 게임을 제작하는 방법을 기초부터 설명한다. 해당 프레임워크뿐만 아니라 일반적인 게임 프로그래밍의 주요 개념을 배우고, 아이폰이라는 훌륭한 플랫폼으로 첫 번째 게임을 작성해본다. 코코스2d의 기초부터 시작해 프레임워크의 여러 멋진 기능으로 게임을 개선해 나가는 방법도 배운다.

★ 이 책에서 다루는 내용 ★

■ 세 가지 게임을 직접 제작하며 코코스2d 기능 익히기
■ 플레이어를 게임에 몰입시킬 수 있는 파티클이나 타일맵 같은 최신 기능 적용
■ 게임 그래픽을 돋보이게 하는 액션과 특수 효과
■ 플레이어를 매료시키는 파티클 시스템 구현
■ 큰 레벨을 쉽게 제작할 수 있는 타일맵 기능 설명
■ 여러 방법으로 하는 효과음 출력
■ 실시간 물리 엔진 적용
■ 유명한 게임 소셜네트워크인 오픈페인트 연동

★ 이 책의 대상 독자 ★

이 책은 게임 프로그래밍을 시작하려는 초보자를 위한 책이다.

게임 프로그래밍은 초보자에게 가장 어려운 주제 중 하나지만, 그 보상으로 얻는 경험 또한 값지므로 이번이 처음이라면 인내심을 가질 필요가 있다. 다행히도 게임 개발에 착수해 결과를 확인하기까지 과정을 코코스2d로 쉽게 단축할 수 있다.

아이폰용 코코스2d는 오브젝티브C를 주언어로 사용하므로 오브젝티브C에 대한 약간의 기본 지식은 필수다. 독자가 일반적인 프로그래밍과 객체지향 프로그래밍의 기초를 이해하고 있다는 가정하에 이 책을 썼다. 코코스2d에 포함된 두 가지 물리 엔진인 칩멍크와 박스2d는 각기 C 언어와 C++로 작성됐기 때문에 해당 물리 엔진을 활용하려면 각 언어에 대한 기본적인 이해도 있어야 한다.

게임 프로그래밍에 대한 사전 지식은 꼭 필요하지는 않지만 있으면 더 좋다.

이 책은 iOS용 게임 제작에 관한 내용이므로, 아이폰이나 아이패드에도 친숙한 편이 좋다. 아이폰은 훌륭한 프로그래밍 플랫폼으로서, 보기에 좋을 뿐만 아니라 느낌도 좋다. 뭐, 이건 누구나 알고 있는 사실이고, 다들 아이폰 게임도 이미 많이 해봤을 것으로 생각한다. 일단 게임 제작을 시작하고 나서는 마음에 드는 다른 게임들을 찬찬히 살펴보라. 그 게임이 어떻게 작동하는지, 어떤 요소가 흥미를 끄는 것인지를 이해하면 게임 제작에도 큰 도움이 될 것이다.

★ 이 책의 구성 ★

이 책은 독자가 아이폰용 코코스2d에 익숙해져 스스로 게임을 제작할 수 있게끔 구성했다. 따라서 예제를 중심으로 따라가는 구조가 됐는데, 이 책에서 세 가지 종류의 게임을 직접 만들어봄으로써 코코스2d가 가진 모든 기능을 활용해본다.

게임을 만들어가는 과정에서 저절로 아이폰용 코코스2d에 익숙해지는 것이 이 책의 기획 의도이기 때문에 예제를 중심으로 따라하는 방식으로 책을 구성했다. 책 전반에 걸쳐 세 가지 게임을 만들어봄으로써 코코스2d가 가진 모든 기능을 활용해보자.

1장, 코코스2d의 기초: 코코스2d 소스에 포함된 샘플 프로젝트를 들여다보면서 시작한다. 새 프로젝트를 위한 템플릿 설치 방법을 배우고, 간단한 프로젝트를 처음으로 만들어본다. 또한 코코스2d의 몇 가지 기본 개념도 알아보고, 마지막으로 코코스2d의 디버깅 기능을 확인한다.

2장, 스프라이트 활용: 스프라이트(sprite)에 대한 모든 것을 배운다. 2장을 끝낼 쯤이면 독자 스스로 오브젝트를 만들고 관리할 수 있다. 또 이 책에서 만들어 볼 세 가지 게임 중 첫 번째를 여기서 시작한다. 간단한 퍼즐 게임 개발을 어떻게 시작하는지 살펴보자.

3장, 액션 적용: 시간에 따라 오브젝트를 움직이거나 크기와 기울기를 조절하고, 또 그 밖의 여러 효과를 주는 법을 배운다. 2장에 이어 첫 번째 게임을 좀 더 그럴듯하게 다듬어 나가자.

4장, 레이블 추가: 어떤 게임에서든 텍스트를 표시할 때가 꼭 있다. 게임 조작 방법을 안내하거나 힌트나 점수를 보여주는 등 다양한 텍스트를 화면에 나타내고 수정하는 방법을 알아본다.

5장, 씬, 레이어, 트랜지션: 코코스2d 게임이 어떤 방식으로 씬(scene)과 레이어(layer)에 모든 콘텐츠를 표현하는지 알아본다. 게임에서 씬과 레이어가 각기 하나일 수도 있겠지만, 원하는 만큼 많이 생성할 수도 있다. 씬과 레이어의 활용 방법과, 트랜지션(transition)으로 씬을 전환하는 방법뿐만 아니라, 레이어상에서 가속도계와 터치 입력을 다루는 방법도 상세히 알아본다.

6장, 메뉴 디자인: 게임에서 메뉴는 생각보다 중요한 부분이다. 코코스2d로 메뉴를 표현하는 데는 여러 가지 방법이 있는데, 심지어 메뉴에도 스프라이트처럼 애니메이션 효과를 줄 수 있다. 환경설정(preference)을 저장하고 불러오는 방법도 다룬다.

7장, 파티클 시스템 구현: 번쩍거리는 특수 효과의 중요성을 설명한다. 또한 코코스2d에 포함된 파티클 시스템(particle system)의 구현 방법을 알아보고, 자신만의 파티클 시스템을 만들어볼 수도 있다.

8장, 타일맵 활용: 타일맵(tilemap)에 대한 정보를 제공하는데, 이는 게임상의 넓은 레벨을 쉽게 정의하거나 지도 표현을 위해 작은 이미지를 추출하는 등의 작업을 도와주는 기술이다. 슈팅 게임이나 플랫폼 게임, RPG 같은 게임을 타일맵으로 비교적 손쉽게 제작할 수 있다. 또한 타일드(Tiled)라는 툴을 이용해 타일맵을 제작하는 방법과 코코스2d에서 타일맵을 다루는 방법을 살펴본다.

9장, 코코스덴션으로 만드는 음향 효과: 게임 효과음과 음악에 관한 주제들을 다룬다. 거의 모든 게임에는 효과음과 배경 음악이 들어가는데, 코코스2d에는 코코스덴션(CocosDenshion)이라는 훌륭한 사운드 엔진이 있어 충분히 처리할 수 있다. 9장을 읽고 나면 배경 음악과 효과음을 즉석에서 적용할 수 있게 되며, 여기서 몇 가지 사전 로드(preload) 기술도 알아본다.

10장, 물리 엔진 활용: 물리 엔진의 중요성과 역할을 설명한다. 물리 엔진은 게임이 현실과 같이 작동하게끔 도와주는데, 최근에 출시된 수많은 게임이 물리 엔진을 활용한다. 각기 훌륭한 물리 엔진인 칩멍크(Chipmunk)나 박스2d(Box2d)에 코코스2d를 연동시킬 수 있다. 10장에서는 칩멍크를 어떻게 사용하는지 설명한다.

11장 소셜네트워크와의 연동: 게임 개발이 완료된 후에도 해야 할 일이 많다는 것을 잊지 말자. 게임에 애드몹(Admob) 광고를 실어 수익을 내고 싶을 수도 있고, 순위표나 목표 달성 같은 소셜 기능을 추가해 게임 유저가 점수를 페이스북과 트위터에 올리게 하고 싶을 수도 있다. 그래서 11장에서는 게임을 바깥 세상과 연결시키는 기본적인 방법을 들여다본다.

부록 A: 책 내용 중에 나오는 돌발 퀴즈의 정답을 실었다.

첫번째 리뷰어가 되어주세요.

첫번째 한줄평을 남겨주세요.

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.