동국대 앱창작터 5일차:cocos2d-x 확장기능
TRANSCRIPT
5일차:확장기능 모바일게임과정II:Cocos2d-X
목차
데이터 저장하기
사용자 입력 사용하기
HTTP 통신 사용하기
XML 사용하기
JSON 사용하기
스크롤뷰 사용하기
중력 가속도계 사용하기
CocosBuilder 사용하기
모바일게임과정II:Cocos2d-X 2
데이터 저장하기
모바일게임과정II:Cocos2d-X 3
데이터 저장하기
CCUserDefault Class
iOS: NSUserDefault
Android: SharedPreferences
모바일게임과정II:Cocos2d-X 4
모바일게임과정II:Cocos2d-X 5
모바일게임과정II:Cocos2d-X 6
모바일게임과정II:Cocos2d-X 7
모바일게임과정II:Cocos2d-X 8
모바일게임과정II:Cocos2d-X 9
사용자 입력 사용하기
모바일게임과정II:Cocos2d-X 10
사용자 입력 사용하기
CCEditBox
setText (const char *pText)
const char * getText (void)
Cocos2d-X의 Extension
모바일게임과정II:Cocos2d-X 11
모바일게임과정II:Cocos2d-X 12
모바일게임과정II:Cocos2d-X 13
모바일게임과정II:Cocos2d-X 14
모바일게임과정II:Cocos2d-X 15
모바일게임과정II:Cocos2d-X 16
모바일게임과정II:Cocos2d-X 17
모바일게임과정II:Cocos2d-X 18
HTTP 통신 사용하기
모바일게임과정II:Cocos2d-X 19
HTTP 통신 사용하기
CCHttpRequest Class
모바일게임과정II:Cocos2d-X 20
모바일게임과정II:Cocos2d-X 21
모바일게임과정II:Cocos2d-X 22
모바일게임과정II:Cocos2d-X 23
모바일게임과정II:Cocos2d-X 24
모바일게임과정II:Cocos2d-X 25
모바일게임과정II:Cocos2d-X 26
모바일게임과정II:Cocos2d-X 27
모바일게임과정II:Cocos2d-X 28
모바일게임과정II:Cocos2d-X 29
모바일게임과정II:Cocos2d-X 30
XML 사용하기
모바일게임과정II:Cocos2d-X 31
XML 사용하기
Cocos2d-X에서 제공하는 기능은 없음
Pugixml을 사용
http://pugixml.org
모바일게임과정II:Cocos2d-X 32
모바일게임과정II:Cocos2d-X 33
모바일게임과정II:Cocos2d-X 34
모바일게임과정II:Cocos2d-X 35
모바일게임과정II:Cocos2d-X 36
JSON 사용하기
모바일게임과정II:Cocos2d-X 37
JSON 사용하기
Cocos2d-X에서 제공하는 기능은 없음
rapidjson을 사용
http://code.google.com/p/rapidjson
모바일게임과정II:Cocos2d-X 38
모바일게임과정II:Cocos2d-X 39
모바일게임과정II:Cocos2d-X 40
모바일게임과정II:Cocos2d-X 41
모바일게임과정II:Cocos2d-X 42
모바일게임과정II:Cocos2d-X 43
스크롤뷰 사용하기
모바일게임과정II:Cocos2d-X 44
스크롤뷰 사용하기
모바일게임과정II:Cocos2d-X 45
모바일게임과정II:Cocos2d-X 46
모바일게임과정II:Cocos2d-X 47
모바일게임과정II:Cocos2d-X 48
모바일게임과정II:Cocos2d-X 49
모바일게임과정II:Cocos2d-X 50
중력 가속도계 사용하기
모바일게임과정II:Cocos2d-X 51
중력 가속도계 사용하기
CCAcceleration 클래스
중력 센서, 가속도 센서, 자이로스코프를 포함
모바일게임과정II:Cocos2d-X 52
모바일게임과정II:Cocos2d-X 53
모바일게임과정II:Cocos2d-X 54
모바일게임과정II:Cocos2d-X 55
모바일게임과정II:Cocos2d-X 56
COCOSBUILDER 사용하기
모바일게임과정II:Cocos2d-X 57
UI, 애니메이션 등 게임 화면 구성을 간편하게 구현할 수 있는 오픈소스 툴(MIT 라이센스)
Cocos2d 엔진에서 사용
Cocos2d-x
Cocos2d-iPhone
Cocos2d-HTML5
JavaScript Editor + cocosPlayer
Mac OS X에서만 사용가능
CocosBuilder 소개
Cocosbuilder 다운로드
http://cocosbuilder.com/?page_id=11
Stable version : 2.1
Latest version : 3.0 alpha5
Github
https://github.com/cocos2d/CocosBuilder
다운로드 및 사용방법
새 프로젝트 생성하기
File->New->Project 선택 경로와 프로젝트명을 작성후 ‘save’
다운로드 및 사용방법
화면 구성
다운로드 및 사용방법
리소스 뷰
프로젝트 리소스 리스트
편집 화면
타임라인
속성창
상단 메뉴
프로젝트 설정
File->Project Settings
다운로드 및 사용방법
리소스 경로 추가/삭제
JavaScript 프로젝트 설정
퍼블리싱 설정
File->Publish Settings
다운로드 및 사용방법
iOS 리소스 설정
안드로이드 리소스 설정
HTML5 리소스 설정
기타 설정
새 화면 추가
File->New->Interface File 선택
다운로드 및 사용방법
오브젝트 타입 설정, 풀스크린 여부
지원 해상도 리스트
미리 보기(브라우저)
File->Run in Browser->(해당 브라우저) 선택
다운로드 및 사용방법
노드 추가하기
상단 메뉴에서 노드 선택->좌측하단(0, 0) 지점에 노드 생성
CCB파일 작업하기
속성값(프로퍼티) 수정
편집 화면에서 해당 노드 선택하면 오른쪽에 선택된 노드의 각종 프로퍼티가 나타남
CCB파일 작업하기
노드의 순서(Z-Order) 변경
타임라인에서 드래그하여 변경
타임라인에서 상단으로 갈수록 뒤에 위치(Z-Order값 감소)
CCB파일 작업하기
애니메이션: 키프레임 추가
타임라인에서 아래 화살표 클릭->원하는 프로퍼티의 시간 영역에 ‘option키’ + 클릭
CCB파일 작업하기
애니메이션: 키프레임 편집
타임라인에서 키프레임 더블클릭
CCB파일 작업하기
애니메이션: 키프레임 삭제
타임라인에서 키프레임 선택->‘delete키’
CCB파일 작업하기
애니메이션: 연속적인 이미지 사용
리소스 리스트에서 프레임 선택 후 Animation->’Create Frames from Selected Resources’
CCB파일 작업하기
애니메이션: 이징 액션(Easing Action) 적용
연결된 두 키프레임 사이에서 오른 클릭
CCB파일 작업하기
애니메이션: 다중 타임라인
타임라인 제목 클릭->Edit Timelines->’+’ 클릭
CCB파일 작업하기
애니메이션: 타임라인 연계(chain)
타임라인 하단 ‘No chained timeline’ 클릭->연계할 타임라인 선택
CCB파일 작업하기
프로젝트 퍼블리싱
File->Publish : *.ccbi및 리소스 출력
Cocos2d-x에서 사용하기
Cocos2d-x 프로젝트에 *.ccbi 및 리소스 포함
Cocos2d-x에서 사용하기
Cocos2d-x 프로젝트에서 *.ccbi 불러오기
Cocos2d-x에서 사용하기
AppDelegate.cpp
헤더 추가, 네임스페이스 명시
수정
실행화면
Cocos2d-x에서 사용하기
CCBAnimationManager
특정 타임라인 재생
타임라인 재생 후 콜백
CCBAnimationManagerDelegate
애니메이션 제어
CocosBuilder User Guide
Help->CocosBuilder User Guide
Cocos2d-x 사용자 모임(저자 카페)
http://cafe.naver.com/cocos2dxusers
코코스 빌더 강좌(정회원 이상 읽기 가능)
참고자료