Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

17. cocos2d 기초

2,237 views

Published on

cocos2d based iOS lecture

Published in: Education
  • Be the first to comment

  • Be the first to like this

17. cocos2d 기초

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

×