SlideShare a Scribd company logo
cocos2d 기초



학습 목표

● cocos2d의 기본 어플리케이션 개발을 이해한다.
● cocos2d를 설치하고 템플릿을 이용해 새 프로젝트를 만들어 본다.
● cocos2d의 기본 클래스를 이해한다.




COCOS2D 의 소개

cocos2d-iPhone 엔진의 원형은 파이썬(python)으로 작성된 2D기반의 게임
라이브러리로 시작되었다. 이를 아이폰용으로 변환한것이 현재의 cocos2d
프레임워크이다.

cocos2d는 그래픽을 위해 Open GL ES 1.0 , 사운드를 위해 OpenAL 라이브러리 등
게임에 필요한 다양한 부가기능을 제공 한다. 현재 0.99.5배타 까지 개발 되었다.




cocos2d의 장점

- OpenGL ES기반으로 상당히 빠른 속도의 성능

- 오픈소스로 무료사용

- 많은 커뮤니티와 포럼을 통한 QnA 가능

- 비교적 간단하고 사용하기 쉬운 API로 구현

- Object-C 언어 사용



cocos2d의 주요기능
- 게임의 장면(Scene)관리 기능

- 장면 Transition 기능

- 메뉴(Menu) 관리기능

- 스프라이트(Sprite), 스프라이트 쉬트(Sprite Sheet) 기능

- 텍스트 렌더링(Text Rendering)기능

- 애니메이션을 위한 다양한 액션(Action) 지원

- 타이머 기능

- 사운드 기능

- 물리엔진(Box2d , Chipmunk) 기능

- 파티클 시스템 지원

- 타일맵, 다중타일맵 스크롤 지원

- Cocos Live를 이용한 최고 점수 서버 지원

- 아틀라스(Atlas) 텍스처 지원


이외에도 Cocos2D의 다양한 기능들이 있다. 이렇게 게임 개발에 필요한 많은 기능들을

가지고 있는 Cocos2D는 빠르게 게임을 개발할 수가 있으며 사용법 또한 매우 쉬워

아이디어가 있다면 바로 개발에 도전 할수 있는 좋은 도구가 될것 이다.




COCOS2D 의 설치
cocos2d 는 어떻게 설치하고 사용하는가? 아주 간단하다. cocos2d 파일을 직접

내려받은후 압축풀고, 스크립트 한줄만 실행하면 된다.ㅜ


먼저 아래 주소를 방문하여 Cocos2D의 최신버젼을 다운받아 보자.
- 저장소 위치 : www.cocos2d-iphone.org/download


최 상위에 있는 UnStable version을 선택 한다.


- download : cocos2d-iphone-0.99.5-rc0.tar.gz



cocos2d-iphone-0.99.5-rc0.tar.gz 파일을 내려받아서 더블클릭을 하여 압축을
풀면 다음과 같은 디렉터리와 파일을 볼 수 있다.
- Cocos2d 패키지의 구성

  ● cocosDenshion 폴더 => 사운드 관련 라이브러리 소스코드

  ● cocoslive 폴더 => 최고점수 등록관련 소스코드

  ● experimental 폴더 => 릴리즈 하기엔 아직 검증되지 않은 소스코드

  ● external 폴더 => 물리엔진 Chipmunk 와 box2d 코드
● extras 폴더 => 조이스틱 인터페이스 코드, 물체간 거리계산코드

    ● templates 폴더 => Xcode 프로젝트 템플릿 파일

    ● tests 폴더 => 기능테스트용 코드샘플

    ● tools 폴더 => 0.9x버전코드를 0.8x 버전코드로 변환해주는 스크립트



- Xcode 에서 사용할 Cocos2d 프로젝트 템플릿 설치

cocos2d를 실제로 사용하기 위해서는 Xcode에 cocos2d 템플릿을 설치하고 cocos2d
Applications 프로젝트를 생성하여 게임을 개발한다.
cocos2d Xcode 프로젝트 템플릿 파일을 설치해 보도록 하자.

    1. 터미널 프로그램을 실행한다. Applications / Utilites 디렉토리 안에 Terminal 클릭!
    2. 터미널에서 다음과 같이 입력한다.

                  cd<파일 내려받은 폴더경로>/cocos2d-iphone-0.99.5rc0

                  - Downloads 폴더에 cocos2d-iphone-0.99.5rc0.tar.gz 압축을 푼 경우
                  예) cd Downloads /cocos2d-iphone-0.99.5rc0

    3. 설치 스크립트를 실행한다.

                  - sudo install-templates.sh -f

    4. 다음과 같은 설치화면이 나타나면 설치가 제대로 된 것이다.



cocos2d-iphone template installer
...creating cocos2d template directory




Installing cocos2d template
----------------------------------------------------
...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/
Project Templates/cocos2d 0.99.5/cocos2d Application/
...copying template files
...copying cocos2d files
...copying cocos2d dependency files
...copying CocosDenshion files
...copying cocoslive files
...copying cocoslive dependency files
done!




Installing cocos2d + box2d template
----------------------------------------------------

...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/
Project Templates/cocos2d 0.99.5/cocos2d Box2d Application/
...copying template files
...copying cocos2d files
...copying cocos2d dependency files
...copying CocosDenshion files
...copying cocoslive files
...copying cocoslive dependency files
...copying Box2D files
done!




Installing cocos2d + chipmunk template
----------------------------------------------------

...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/
Project Templates/cocos2d 0.99.5/cocos2d Chipmunk Application/
...copying template files
...copying cocos2d files
...copying cocos2d dependency files
...copying CocosDenshion files
...copying cocoslive files
...copying cocoslive dependency files
...copying Chipmunk files
done!
...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/
File Templates/cocos2d 0.99.5/




Installing CCNode file templates...
----------------------------------------------------

done!



 - 메시지에서 보는것과 같이 3가지 템플릿이 설치 되었다.

    ● cocos2d template
    ● cocos2d + box2d template
    ● cocos2d + Chipmunk template




COCOS2D 기본 클래스 구조

Cocos2d는 모두 클래스 단위로 구성되어 있으며, 최상위 클래스 CocosNode 클래스를
상속받아 생성된다.

CocosNode 클래스는 위치,색상,투명도,크기,회전,가시성여부,카메라,그리드 에 대한
속성을 가지고 있기 때문에 상속받은 클래스 역시 속성변경이 가능하다.

CocosNode의 특징은 자식노드를 가질 수 있다. add 메서드로 다른노드를 추가하는 것
뿐만 아니라 remove 메서드로 추가한 노드를 제거할 수 있다.

이제 Cocos2D 에서 가장 핵심이 되는 클래스와 개념을 알아보자.
- 게임화면 구성을 위한 4가지 클래스

 1. DIRECTOR

   Cocos2d는 게임의 화면을 신(Scene)이라는 장면단위로 구현하는데,
   Director 클래스는 신 장면을 관리,전환 하는 역할을 한다.
   하나의 어플리케이션에 하나의 Director만이 존재한다.(singleton class)

 2. SCENE

   게임에서 하나의 장면표현을 담당하는 클래스 이다.
   예를 들어 게임시작 장면신, 도움말 장면신, 게임종료 장면신, 게임장면신 등의
게임에서 보여지는 모든 화면은 신(Scene)으로 구성되며 각 신은 여러개의
           레이어(Layer) 로 구성할 수 있다.

  3. LAYER

      레이어는 스프라이트와 함께 신을 구성하는 클래스로 비슷한 종류의 객체들을
      담을때 사용하면 효과 적이다. 예를들어 첫번째 레이어는 배경 스프라이트를,
      두 번째 레이어는 캐릭터 스프라이트를, 세 번째 레이어는 메뉴나,점수 등으로
      레이어별로 나누어 구성할때 아주 유용하다.

  4. SPRITE

      컴퓨터 그래픽스에서 화면을 구성하는 정적인 이미지나 애니메이션이 되는
일련의        이미지를 가리키는 말로 대개는 게임에서 사용되는 이미지들을 이야기
한다.
      게임화면에 나오는 케릭터나 몬스터,배경 객체들 모두가 바로 스프라이트 들이다.
      스프라이트의 가장 큰 특징중 하나는 투명색을 가지는 것이다. 캐릭터 밖의 배경에
      해당하는 색은 그리지 않고 투명으로 표현되어 케릭터가 애니메이션될때 배경을
      염두하지 않고 원하는 장면을 얻을 수 있다




- 애니메이션 처리를 위한 ACTION 클래스

      액션 클래스는 CocosNode 클래스를 상속한 클래스의 애니메이션 처리를 위한

      클래스이다. 대부분 스프라이트의 애니메이션 처리를 위해서 사용되어 진다.


      InstanceAction – 한번만 실행

      intervalAction – 주어진 시간동안 반복해서 실행

      RepeatAction - 반복해서 실행


      - 사용형태별 액션구분
1. Trasformation 액션 : Move,Rotate,Scale,Jump

    2. Composable 액션 : Sequence,Spawn,Repeat,Revers

    3. Ease 액션 : Exp,Sin,Cubic

    4. 기타 액션 : CallFunc, Orbit



이처럼 게임화면을 위한 4개의 클래스와 애니메이션을 위한 액션클래스 이상의 5가지
클래스가 Cocos2d 클래스의 핵심클래스이며, 앞으로도 가장많이 등장할 것이다.




COCOS2D “Hello World” 프로젝트

이때까지 Cocos2d 다운로드와 Xcode 템플릿 설치 ,Cocos2d 핵심5가지 클래스를
알아보았다. 이제 cocos2d로 만드는 첫번째 프로젝트를 시작해 보자.



  1. Xcode 를 실행한다. 다음과 같은 초기 화면이 나타나면 닫기 버튼을 눌러 윈도우를
    닫는다.
2. 위쪽상단에 있는 메뉴바에서 File → New Project 메뉴를 선택한다.
3. Cocos2d 템플릿이 재대로 설치되었다면 왼쪽 iOS 그룹아래로   UserTemplates
  그룹과 cocos2d 0.99.5가 보일것이다.
4. User Templates 그룹의 cocos2d 0.99.5 를 선택하고, 오른쪽 패널에서
  cocos2d Application 아이콘을 선택한후 [Choose] 버튼 클릭한다.



5. 그림과 같은 위도우가 나타나면 Save As 에 HelloWorld 를 입력한 후 [Save]버튼을
     클릭한다.
6. 프로젝트가   만들어지면 다음과 같은 화면이 나타난다.
7. 왼쪽 상단에 Base SDK Missing 이 보인다.(실행을 위한 SDK 버전을 고친다)
  - HelloWorld 를 마우스 오른쪽 클릭하여 나오는 팝업에서 Get Info를 선택한다.
- Genernal 탭에서 가장 아래쪽 설정메뉴중에 Base SDK for All Configurations :
 에서 ios simulator 4.1를 선택후 설정창을 닫는다.(가장 최신버전 선택)
8. 상단   메뉴에서 Build → Build and Run 선택하여 실행시킨다.
9. 시뮬레이터에 다음과 같이 표시된다.
정리
지금까지

 ● cocos2d는 Open GL 기반의 2D 게임 라이브러리로 iPhone 게임개발
   프레임 워크이다.

 ● Cocos2D의 자료 확보및 설치가 아주 간단하다.

    - Cocos2d는 홈페이지에서 무료로 다운로드 가능하다.
    - 다운로드한 파일을 압축만 해제하면 되도록 설치가 간단하다.
    - Xcode 에서 사용하기 편하도록 템플릿을 제공한다.



 ● Cocos2d는 모두 클래스 단위로 구성되며, CocosNode 최상위
   클래스를 상속받아 만들어 지므로 속성상속을 그대로 받는다.

 ● Cocos2d의 메인클래스는 Director , Scene , Layer, Sprite 로
   구성되며, 움직임과 에니메이션은 Action 클래스에서 담당한다.

 ● Cocos2d는 실제 게임에 필요한 장면전환,관리, 움직임, 에니메이션등
   게임개발에 최적화된 클래스와 사용의 편리성을 갖추고 있다.

 ● Xcode 템플릿을 이용하여 새로운 프로젝트 “HelloWorld” 만들어
보았다.



과제
  ● Hello World 예제를 수정하여 자신만의 인사를 출력하도록 만든다.

  ● Hello World 에서 사용되어 지는 클래스가 어떠한 것들이 있는지 알아본다.




학습 적용 퀴즈
1. 다음중 Cocos2d 에 대한 설명중 틀린것은?

    ① Open Gl ES 기반이다
    ② Open Source 이다.
    ③ 2D 기반이며 물리엔진은 아직 지원하지 않는다.
    ④ 장면전환 클래스를 지원한다.



2. 다음중 Cocos2d의 핵심 클래스가 아닌것은?

    ① Director class
    ② Scene class
    ③ WebView class
    ④ Sprite class




다음 강좌 안내
● 간단한 게임 설계와 구성내용

● 프로젝트의 기본 코드소스 분석

● 게임 Scene 과 Menu Scene 구현

More Related Content

PDF
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
PDF
Cocos2d 기초
PPTX
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
PPTX
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
PDF
동국대 앱창작터 4일차:Cocos2d-X 고급기능
PDF
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
PDF
동국대 앱창작터 2일차:Cocos2d-X 기본기능
PPTX
Cocos2dx와 c++11를 이용한 게임 개발
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
Cocos2d 기초
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
동국대 앱창작터 4일차:Cocos2d-X 고급기능
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
동국대 앱창작터 2일차:Cocos2d-X 기본기능
Cocos2dx와 c++11를 이용한 게임 개발

What's hot (6)

PDF
동국대 앱창작터 5일차:Cocos2d-X 확장기능
PDF
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
PPTX
Cocos2d x a to z (상)
PPTX
Cocos2d x a to z (하)
PPTX
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
PPTX
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
동국대 앱창작터 5일차:Cocos2d-X 확장기능
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
Cocos2d x a to z (상)
Cocos2d x a to z (하)
kgc2014 LINE Rangers/Stage 크래시 및 어뷰징 대응
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
Ad

Viewers also liked (20)

PPTX
Too Much Information: The Use and Misuse of Pre-Employment Inquiries, Applica...
PPT
Sps Algemeen En 16x9
PPT
Figuras geométricas
PPTX
Samhandlingsreformen
DOCX
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
DOCX
Praktikum8 komdat_using FTP
PDF
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
PDF
SoL Global Forum Program
PPTX
Multinationals emerging in foriegn countries by darlena pagan
PPT
Ledakan bintang
PPT
Agire professionale e competenze2
PDF
Tizen の未来と可能性
PDF
Resistencia antimicroviana
PDF
Eveleigh kcl-crowdsourcing-x
PDF
15 toughest-interview-questions-and-answers
DOCX
Guionvideosic2
PPT
Audio
PDF
March 2015 Ireland Commercial Bulletin
KEY
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
PDF
Roca Groups presentation on BIMobject LIVe 2014
Too Much Information: The Use and Misuse of Pre-Employment Inquiries, Applica...
Sps Algemeen En 16x9
Figuras geométricas
Samhandlingsreformen
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
Praktikum8 komdat_using FTP
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
SoL Global Forum Program
Multinationals emerging in foriegn countries by darlena pagan
Ledakan bintang
Agire professionale e competenze2
Tizen の未来と可能性
Resistencia antimicroviana
Eveleigh kcl-crowdsourcing-x
15 toughest-interview-questions-and-answers
Guionvideosic2
Audio
March 2015 Ireland Commercial Bulletin
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
Roca Groups presentation on BIMobject LIVe 2014
Ad

Similar to 17. cocos2d 기초 (20)

PDF
Html5+js with game engine cocos2d-html5 분석 @KGC2012
PDF
Ccx03.cocos builder
PDF
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
PPTX
devon2013_cocostudio
PPTX
[IGC 2017] 엔지메이킹 이대희 - 이제는 웹에서 게임을 만들 수 있는 환경 'Construct3를 바탕으로'
PPTX
Cocos2d x
PDF
Coco2d x
PDF
iOS7 Sprite Kit을 이용한 게임 개발
PPTX
초코파이 엔진 프로토타입 기능
PPTX
Game programming with slick2 d
PDF
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
PDF
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
PDF
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
PDF
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
PDF
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
PPT
I phone 2 release
PPTX
유니티로 해보는 게임 프로토타이핑
PPT
Saii iPhone 1
KEY
내 손에 픽셀을 쥐어다오
PDF
Mineral
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Ccx03.cocos builder
Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip
devon2013_cocostudio
[IGC 2017] 엔지메이킹 이대희 - 이제는 웹에서 게임을 만들 수 있는 환경 'Construct3를 바탕으로'
Cocos2d x
Coco2d x
iOS7 Sprite Kit을 이용한 게임 개발
초코파이 엔진 프로토타입 기능
Game programming with slick2 d
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
2D RPG 개발 이론 + 티뮤리티 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
I phone 2 release
유니티로 해보는 게임 프로토타이핑
Saii iPhone 1
내 손에 픽셀을 쥐어다오
Mineral

More from Sangon Lee (10)

PDF
NoSQL Guide & Sample
PPT
Gcd ppt
PDF
Android ndk jni 설치및 연동
PPTX
Android xml parsing
PPTX
Naver api for android
PPTX
Android 기초강좌 애플리캐이션 구조
KEY
Facebook api
KEY
번역돋보기 기획서
KEY
StudyShare
KEY
Storyboard iOS 개발실습예제
NoSQL Guide & Sample
Gcd ppt
Android ndk jni 설치및 연동
Android xml parsing
Naver api for android
Android 기초강좌 애플리캐이션 구조
Facebook api
번역돋보기 기획서
StudyShare
Storyboard iOS 개발실습예제

17. cocos2d 기초

  • 1. cocos2d 기초 학습 목표 ● cocos2d의 기본 어플리케이션 개발을 이해한다. ● cocos2d를 설치하고 템플릿을 이용해 새 프로젝트를 만들어 본다. ● cocos2d의 기본 클래스를 이해한다. COCOS2D 의 소개 cocos2d-iPhone 엔진의 원형은 파이썬(python)으로 작성된 2D기반의 게임 라이브러리로 시작되었다. 이를 아이폰용으로 변환한것이 현재의 cocos2d 프레임워크이다. cocos2d는 그래픽을 위해 Open GL ES 1.0 , 사운드를 위해 OpenAL 라이브러리 등 게임에 필요한 다양한 부가기능을 제공 한다. 현재 0.99.5배타 까지 개발 되었다. cocos2d의 장점 - OpenGL ES기반으로 상당히 빠른 속도의 성능 - 오픈소스로 무료사용 - 많은 커뮤니티와 포럼을 통한 QnA 가능 - 비교적 간단하고 사용하기 쉬운 API로 구현 - Object-C 언어 사용 cocos2d의 주요기능
  • 2. - 게임의 장면(Scene)관리 기능 - 장면 Transition 기능 - 메뉴(Menu) 관리기능 - 스프라이트(Sprite), 스프라이트 쉬트(Sprite Sheet) 기능 - 텍스트 렌더링(Text Rendering)기능 - 애니메이션을 위한 다양한 액션(Action) 지원 - 타이머 기능 - 사운드 기능 - 물리엔진(Box2d , Chipmunk) 기능 - 파티클 시스템 지원 - 타일맵, 다중타일맵 스크롤 지원 - Cocos Live를 이용한 최고 점수 서버 지원 - 아틀라스(Atlas) 텍스처 지원 이외에도 Cocos2D의 다양한 기능들이 있다. 이렇게 게임 개발에 필요한 많은 기능들을 가지고 있는 Cocos2D는 빠르게 게임을 개발할 수가 있으며 사용법 또한 매우 쉬워 아이디어가 있다면 바로 개발에 도전 할수 있는 좋은 도구가 될것 이다. COCOS2D 의 설치 cocos2d 는 어떻게 설치하고 사용하는가? 아주 간단하다. cocos2d 파일을 직접 내려받은후 압축풀고, 스크립트 한줄만 실행하면 된다.ㅜ 먼저 아래 주소를 방문하여 Cocos2D의 최신버젼을 다운받아 보자.
  • 3. - 저장소 위치 : www.cocos2d-iphone.org/download 최 상위에 있는 UnStable version을 선택 한다. - download : cocos2d-iphone-0.99.5-rc0.tar.gz cocos2d-iphone-0.99.5-rc0.tar.gz 파일을 내려받아서 더블클릭을 하여 압축을 풀면 다음과 같은 디렉터리와 파일을 볼 수 있다.
  • 4. - Cocos2d 패키지의 구성 ● cocosDenshion 폴더 => 사운드 관련 라이브러리 소스코드 ● cocoslive 폴더 => 최고점수 등록관련 소스코드 ● experimental 폴더 => 릴리즈 하기엔 아직 검증되지 않은 소스코드 ● external 폴더 => 물리엔진 Chipmunk 와 box2d 코드
  • 5. ● extras 폴더 => 조이스틱 인터페이스 코드, 물체간 거리계산코드 ● templates 폴더 => Xcode 프로젝트 템플릿 파일 ● tests 폴더 => 기능테스트용 코드샘플 ● tools 폴더 => 0.9x버전코드를 0.8x 버전코드로 변환해주는 스크립트 - Xcode 에서 사용할 Cocos2d 프로젝트 템플릿 설치 cocos2d를 실제로 사용하기 위해서는 Xcode에 cocos2d 템플릿을 설치하고 cocos2d Applications 프로젝트를 생성하여 게임을 개발한다. cocos2d Xcode 프로젝트 템플릿 파일을 설치해 보도록 하자. 1. 터미널 프로그램을 실행한다. Applications / Utilites 디렉토리 안에 Terminal 클릭! 2. 터미널에서 다음과 같이 입력한다. cd<파일 내려받은 폴더경로>/cocos2d-iphone-0.99.5rc0 - Downloads 폴더에 cocos2d-iphone-0.99.5rc0.tar.gz 압축을 푼 경우 예) cd Downloads /cocos2d-iphone-0.99.5rc0 3. 설치 스크립트를 실행한다. - sudo install-templates.sh -f 4. 다음과 같은 설치화면이 나타나면 설치가 제대로 된 것이다. cocos2d-iphone template installer ...creating cocos2d template directory Installing cocos2d template ----------------------------------------------------
  • 6. ...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/ Project Templates/cocos2d 0.99.5/cocos2d Application/ ...copying template files ...copying cocos2d files ...copying cocos2d dependency files ...copying CocosDenshion files ...copying cocoslive files ...copying cocoslive dependency files done! Installing cocos2d + box2d template ---------------------------------------------------- ...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/ Project Templates/cocos2d 0.99.5/cocos2d Box2d Application/ ...copying template files ...copying cocos2d files ...copying cocos2d dependency files ...copying CocosDenshion files ...copying cocoslive files ...copying cocoslive dependency files ...copying Box2D files done! Installing cocos2d + chipmunk template ---------------------------------------------------- ...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/ Project Templates/cocos2d 0.99.5/cocos2d Chipmunk Application/ ...copying template files ...copying cocos2d files ...copying cocos2d dependency files ...copying CocosDenshion files ...copying cocoslive files ...copying cocoslive dependency files ...copying Chipmunk files
  • 7. done! ...creating destination directory: /Library/Application Support/Developer/Shared/Xcode/ File Templates/cocos2d 0.99.5/ Installing CCNode file templates... ---------------------------------------------------- done! - 메시지에서 보는것과 같이 3가지 템플릿이 설치 되었다. ● cocos2d template ● cocos2d + box2d template ● cocos2d + Chipmunk template COCOS2D 기본 클래스 구조 Cocos2d는 모두 클래스 단위로 구성되어 있으며, 최상위 클래스 CocosNode 클래스를 상속받아 생성된다. CocosNode 클래스는 위치,색상,투명도,크기,회전,가시성여부,카메라,그리드 에 대한 속성을 가지고 있기 때문에 상속받은 클래스 역시 속성변경이 가능하다. CocosNode의 특징은 자식노드를 가질 수 있다. add 메서드로 다른노드를 추가하는 것 뿐만 아니라 remove 메서드로 추가한 노드를 제거할 수 있다. 이제 Cocos2D 에서 가장 핵심이 되는 클래스와 개념을 알아보자.
  • 8. - 게임화면 구성을 위한 4가지 클래스 1. DIRECTOR Cocos2d는 게임의 화면을 신(Scene)이라는 장면단위로 구현하는데, Director 클래스는 신 장면을 관리,전환 하는 역할을 한다. 하나의 어플리케이션에 하나의 Director만이 존재한다.(singleton class) 2. SCENE 게임에서 하나의 장면표현을 담당하는 클래스 이다. 예를 들어 게임시작 장면신, 도움말 장면신, 게임종료 장면신, 게임장면신 등의
  • 9. 게임에서 보여지는 모든 화면은 신(Scene)으로 구성되며 각 신은 여러개의 레이어(Layer) 로 구성할 수 있다. 3. LAYER 레이어는 스프라이트와 함께 신을 구성하는 클래스로 비슷한 종류의 객체들을 담을때 사용하면 효과 적이다. 예를들어 첫번째 레이어는 배경 스프라이트를, 두 번째 레이어는 캐릭터 스프라이트를, 세 번째 레이어는 메뉴나,점수 등으로 레이어별로 나누어 구성할때 아주 유용하다. 4. SPRITE 컴퓨터 그래픽스에서 화면을 구성하는 정적인 이미지나 애니메이션이 되는 일련의 이미지를 가리키는 말로 대개는 게임에서 사용되는 이미지들을 이야기 한다. 게임화면에 나오는 케릭터나 몬스터,배경 객체들 모두가 바로 스프라이트 들이다. 스프라이트의 가장 큰 특징중 하나는 투명색을 가지는 것이다. 캐릭터 밖의 배경에 해당하는 색은 그리지 않고 투명으로 표현되어 케릭터가 애니메이션될때 배경을 염두하지 않고 원하는 장면을 얻을 수 있다 - 애니메이션 처리를 위한 ACTION 클래스 액션 클래스는 CocosNode 클래스를 상속한 클래스의 애니메이션 처리를 위한 클래스이다. 대부분 스프라이트의 애니메이션 처리를 위해서 사용되어 진다. InstanceAction – 한번만 실행 intervalAction – 주어진 시간동안 반복해서 실행 RepeatAction - 반복해서 실행 - 사용형태별 액션구분
  • 10. 1. Trasformation 액션 : Move,Rotate,Scale,Jump 2. Composable 액션 : Sequence,Spawn,Repeat,Revers 3. Ease 액션 : Exp,Sin,Cubic 4. 기타 액션 : CallFunc, Orbit 이처럼 게임화면을 위한 4개의 클래스와 애니메이션을 위한 액션클래스 이상의 5가지 클래스가 Cocos2d 클래스의 핵심클래스이며, 앞으로도 가장많이 등장할 것이다. COCOS2D “Hello World” 프로젝트 이때까지 Cocos2d 다운로드와 Xcode 템플릿 설치 ,Cocos2d 핵심5가지 클래스를 알아보았다. 이제 cocos2d로 만드는 첫번째 프로젝트를 시작해 보자. 1. Xcode 를 실행한다. 다음과 같은 초기 화면이 나타나면 닫기 버튼을 눌러 윈도우를 닫는다.
  • 11. 2. 위쪽상단에 있는 메뉴바에서 File → New Project 메뉴를 선택한다.
  • 12. 3. Cocos2d 템플릿이 재대로 설치되었다면 왼쪽 iOS 그룹아래로 UserTemplates 그룹과 cocos2d 0.99.5가 보일것이다.
  • 13. 4. User Templates 그룹의 cocos2d 0.99.5 를 선택하고, 오른쪽 패널에서 cocos2d Application 아이콘을 선택한후 [Choose] 버튼 클릭한다. 5. 그림과 같은 위도우가 나타나면 Save As 에 HelloWorld 를 입력한 후 [Save]버튼을 클릭한다.
  • 14. 6. 프로젝트가 만들어지면 다음과 같은 화면이 나타난다.
  • 15. 7. 왼쪽 상단에 Base SDK Missing 이 보인다.(실행을 위한 SDK 버전을 고친다) - HelloWorld 를 마우스 오른쪽 클릭하여 나오는 팝업에서 Get Info를 선택한다.
  • 16. - Genernal 탭에서 가장 아래쪽 설정메뉴중에 Base SDK for All Configurations : 에서 ios simulator 4.1를 선택후 설정창을 닫는다.(가장 최신버전 선택)
  • 17. 8. 상단 메뉴에서 Build → Build and Run 선택하여 실행시킨다.
  • 18. 9. 시뮬레이터에 다음과 같이 표시된다.
  • 19. 정리 지금까지 ● cocos2d는 Open GL 기반의 2D 게임 라이브러리로 iPhone 게임개발 프레임 워크이다. ● Cocos2D의 자료 확보및 설치가 아주 간단하다. - Cocos2d는 홈페이지에서 무료로 다운로드 가능하다. - 다운로드한 파일을 압축만 해제하면 되도록 설치가 간단하다. - Xcode 에서 사용하기 편하도록 템플릿을 제공한다. ● Cocos2d는 모두 클래스 단위로 구성되며, CocosNode 최상위 클래스를 상속받아 만들어 지므로 속성상속을 그대로 받는다. ● Cocos2d의 메인클래스는 Director , Scene , Layer, Sprite 로 구성되며, 움직임과 에니메이션은 Action 클래스에서 담당한다. ● Cocos2d는 실제 게임에 필요한 장면전환,관리, 움직임, 에니메이션등 게임개발에 최적화된 클래스와 사용의 편리성을 갖추고 있다. ● Xcode 템플릿을 이용하여 새로운 프로젝트 “HelloWorld” 만들어
  • 20. 보았다. 과제 ● Hello World 예제를 수정하여 자신만의 인사를 출력하도록 만든다. ● Hello World 에서 사용되어 지는 클래스가 어떠한 것들이 있는지 알아본다. 학습 적용 퀴즈 1. 다음중 Cocos2d 에 대한 설명중 틀린것은? ① Open Gl ES 기반이다 ② Open Source 이다. ③ 2D 기반이며 물리엔진은 아직 지원하지 않는다. ④ 장면전환 클래스를 지원한다. 2. 다음중 Cocos2d의 핵심 클래스가 아닌것은? ① Director class ② Scene class ③ WebView class ④ Sprite class 다음 강좌 안내
  • 21. ● 간단한 게임 설계와 구성내용 ● 프로젝트의 기본 코드소스 분석 ● 게임 Scene 과 Menu Scene 구현