SlideShare a Scribd company logo
1 of 61
Cocos2d-x v3.0
무엇이 달라졌나?
2014. 4. 27 김 성 완
젬스푼
부산게임아카데미
인디라! 인디게임개발자 모임
Cocos2d-x란?
Cocos2d-x의 역사
Cocos2d-x는 어떤 엔진인가?
Cocos2d-x는 누구를 위한 것인가?
Cocos2d-x v3.0
Cocos2d-x의 미래
목차
Cocos2d-x 란?
• 오픈소스 Cocos2d 엔진의 브랜치 중 하나
• 다중 플랫폼을 지원하는 2D 게임 엔진
• Cocos2d-x 엔진의 전신은 Cocos2d-iPhone
• Objectve-C로 작성된 Cocos2d-iPhone을 C++ 언어로 포
팅
• 엔진의 이름 끝에 붙은 x는 다중 플랫폼을 지원한다는
의미
Cocos2d-x는
• 애플사의 iOS 운영체체 환경의 기본 프로그래밍 언어인
Objective-C로 작성
• 기본적으로는 애플의 iOS 환경에서만 사용 가능
• Cocos2d 엔진을 널리 알린 가장 인기있던 브랜치
• Cocos2d-x는 이를 범용성 높은 C++ 언어로 포팅해서 여
러 플랫폼을 쉽게 지원할 수 있도록 한 것이다.
Cocos2d-iPhone
• Mac OSX 10.7+ & iOS 5+
• Android 2.3+
• Windows 7+ & Windows Phone 8+
• Linux Ubuntu 12.04+
Cocos2d-x v3.0 지원 플랫폼
• Xcode 4.6 (for iOS, Mac)
• gcc 4.7 for Linux or Android(ndk-r9+)
• Visual Studio 2012 (for Windows)
Compiler 요구 사항
2010년 중국의 개발자 왕저(Wang Zhe)에 의해 C++로 포팅되었다.
Cocos2d-x 의 개발자
왕저(王哲)
현재 추콩 테크놀로지의 부사장이자
Cocos2d-x 개발을 이끌고 있다.
(추콩에 인수된 Xiamen Coco
Software의 대표였다.)
2013년 11월 말에는 한국에도 방문
하였다.
● 北京触控科技有限公司
● www.chukong-inc.com
● 触控(촉공) Chukong : Touch & Drag
● 현재 Cocos2d-x의 개발을 지원하고 있다.
● 추콩의 전신은 CocoaChina.com으로서 애플의 코코아 프레임웍의
기술 정보를 공유할 목적으로 만들어진 개발자 커뮤니티 사이트였
다.
● 현재 해당 사이트는 중국에서 가장 큰 규모의 iOS 개발자 커뮤니티
로 성장했고, 현재 26만명의 개발자가 회원으로 가입되어 있다.
추콩 테크놀로지?
Cocos2d-x 의 역사
● 2008년 아르헨티나의 게임 개발자인 리카르도 퀘사다
(Ricardo Quesada)와 그의 동료 개발자들에 의해서
Python 언어로 처음 만들어진 것이다.
● Cocos2d가 탄생한 곳은 아르헨티나 코르도바 근처의
Los Cocos 라는 마을이다.
● 처음에는 엔진의 이름을 마을 이름을 따서 Los Cocos 라
고 했다가 나중에 0.1 버전을 출시하면서 이름을
Cocos2d로 바꾸었다.
Cocos2d 의 역사
Cocos2d의 아버지 Ricardo Quesada
• python으로 만들어진 Cocos2d가 출시된 직후 애플의 앱
스토어가 열리고 iPhone SDK가 공개된다.
• 앱스토어의 미래 가능성을 보고 바로 같은 해에 Cocos2d
를 Objective-C 언어로 다시 작성한다.
• Cocos2d-x 엔진의 전신이 되는 Cocos2d For iPhone v0.1
을 공개하게 된다.
Cocos2d-x 의 역사
• Cocos2d의 아버지 (아르헨
티나 출신)
• 2011년 징가로 이직하며 미
국으로 이주
• 2013년 Cocos2d-iPhone 을
떠나 Cocos2d-x 팀에 합류
Ricardo Quesada
Rolando Abarca (funkaster), Ricardo Quesada (Riq), Zhe Wang (Walzer)
GDC 2012
● ShinyCocos, in Ruby
● Cocos2d-Android, in Java for Android only
● Cocos2d-windows, in C++ for Windows XP/7 only
● CocosNet, in C# base on Mono
● Cocos2d-javascript, in Javascript for browsers
Cocos2d는 여러 언어로 포팅되었다
Cocos2d-x 는 어떤 엔진
인가?
Cocos2d-x 로 만들어진 국내 게임들
젬스푼에서 만든 게임들
Cocos2d-x 엔진의 위상
● Cocos2d-x 게임들 매출 순위 최상위 등극
● 전세계 점유율 26% (추콩)
● 중국내 점유율 70%
● 중국내 Cocos2d-x 프로그래머 몸값 2배(?)
● Chukong, Google, Microsoft, ARM, Intel and BlackBerry
● Zynga, Wooga, Glu, IGG, Big Fish Games, Fingersoft,
Gamevil, GREE, DeNA, Konami, CJ E&M, NHN, LINE,
Square Enix and Disney Mobile
중국 북경대의 Cocos2d-x 강좌 개설
• March 16th 2014, Cocos2d-x team successfully held the first Cocos2d-x Engine Hackathon in
Beijing, China.
• The event lasted for 12 hours, during which more than 20 groups of developers coded to make
Cocos2d-x an even better engine and to demonstrate the spirit and advantage of open source.
• Ricardo Quesada, the father of Cocos2d and the Chief Architect of Chukong,
• Justin Graham, the co-founder of Zynga
• Zhe Wang, Chief Architect of CocoStudio and the author of Cocos2d-x,
• Xiaolong Zhang, the author of CocoStudio,
• Shun Lin, the author of Cocos2d-html5
Cocos2d-x Engine Hackathon
Cocos2d 가족들
http://cocos2d.org/
Python
최신 버전 0.6.0 (2014. 3월 현재)
Cocos2d (Python)
http://www.cocos2d-iphone.org/
Objective-C
최신 버전 3.0 RC5 (2014년 4월 현재)
Cocos2d-iPhone
http://www.cocos2d-x.org/
C++11
최신 버전 v3.0
Cocos2d-x
● Flow control: Manage the flow control between different scenes in an easy way
● Sprites: Fast and easy sprites
● Actions: Just tell sprites what you want them to do. Composable actions like move, rotate,
scale, etc
● Effects: Effects like waves, twirl, lens and much more
● Particle Systems: Explosions, fireworks, meteors, smoke and more
● Tiled maps: Support for rectangular and hexagonal tiled maps
● Collision: Basic pure python support for collisions
● Transitions: Move from scene to scene with style
● Menus: Built in classes to create menus
● Text rendering
original Cocos2d (python) 기능
OpenGL 기반의 그래픽 엔진
OpenGL 2.1
데스크탑 버전
OpenGL ES 2.0
모바일 버전
● Cocos2d-x의 스프라이트는 단순한 시각적인 이미지 이상의 역할을 한다.
● Cocos2d-x 에서 스프라이트는 하나의 객체로서 시각적으로 보여지는 화면의 가장 기본 구성 요
소가 된다.
● Cocos2d-x 에서 스프라이트를 여러가지 방법으로 움직이고 돌리고 변형할 수 있다.
● 그래픽적인 측면에서 보면 Cocos2d-x 는 스프라이트 그래픽 엔진이라고 할 수 있다.
스프라이트 엔진
Scene & Layers (Scene Graph)
● CocoStudio(공식), CocosBuilder
● Level Helper & Sprite Helper
● Spine, Dragon Bones
● Glyph Desinger
● Zwoptex, Texture Packer
● Particle Designer
● Tiled Map Editor
지원 툴들
• UI editor for UI graphic artists
• Animation editor for graphic artists
• Number cruncher for game data designers
• Scene editor for game designers
CocoStudio
● Cocos2d-JS v3.0alpha2
● Cocos2d-html5 + Cocos2d-x javascript
binding
Cocos2d-x 의 사촌
Cocos2d-x 는 누구를 위
한 엔진인가?
• 모바일용 2D 게임에 최적
적은 메모리 용량, 빠른 처리 속도
• C++에 익숙한 기존 프로그래머에게 유리
• 풍부한 2D 기능, OpenGL 기능 직사용 가능
Cocos2d-x 가 적합한 조건
• 유니티에 비하면 개발이나 빌드가 불편하다.
• C++ 언어에 능숙해야 한다.
• 공식 문서나 메뉴얼이 부실하다.
Cocos2d-x의 단점
Cocos2d-x v3.0
아파치 ANT를 이용하여 NDK 컴파일과 안드로이드 SDK 컴파일이 일괄적으
로 한번에 이루어 진다.
안드로이드 빌드 개선
• Cocos2d-x 클래스들의 접두어 CC 제거
예) CCSprite ----> Sprite
예) CCScene -----> Scene
• auto 키워드 : c++11 의 자동 형 지정자의 적극적인 사용
Sprite *spr = Sprite::create(“sprimag.png”);
auto spr = Sprite::create("sprimage.png");
• Singleton : Director::getInstance() instead of CCDirector::shareDirector()
달라진 점
• Container class v2.0 : CCArray, CCDictionary
• Objective-C : NSArray, NSDictionary 에서 유래
• cocos2d::Vector<T> , cocos2d::Map<K,V>
• CCString ----> cocos2d::Value
• CCARRRAY_FOREACH 를 c++ 11 의 range based for 문으로 대체
달라진 점 : Container class 교체
• 콜백 지정매크로 함수 바뀜
menu_selector(callback) --> CC_CALLBACK_0(callback, this)
callfunc_selector(callback) --> CC_CALLBACK_0(callback, this)
• 객체 기반 클래스 CCObject ------> Ref 바뀜
달라진 점
물리 엔진 Cocos2d-x 에 통합
Box2d의 가벼운 버전 Chipmunk
void HelloWorld::addNewSpriteAtPosition(Point p)
{
auto sprite = Sprite::create("circle.png");
sprite->setTag(1);
auto body = PhysicsBody::createCircle(sprite->getContentSize().width / 2);
sprite->setPhysicsBody(body);
sprite->setPosition(p);
this->addChild(sprite);
}
달라진 점 : 물리 엔진 통합
● 스프라이트 내부 처리 개선: Renderer와 Scene
Graph 분리
● Auto Batching : 스프라이트 렌더링 속도 향상을
위해 굳이 SpriteBatchNode를 사용할 필요 없음
● Auto Culling : 화면 경계 벗어난 스프라이트 자
동 컬링
스프라이트 렌더링 성능 개선
• 3.0 에서 안되는 기능
썬더 더 레트로는 2.1 버전에서 RenderTexture 에 타일을 하나씩 그려서 배경을 조립한 다음 화면에
뛰우는 방법 사용
3.0 에서는 한번 그린 타일은 다시 반복해서 그려지지 않기 때문에 이 방법이 먹히지 않는다.
타일을 모두 독립적인 스프라이트 객체로 생성해야 한다.
• 2.1 부터 안되는 기능
스프라이트 텍스츄어 속성 변경이 동일한 텍스츄어 이미지 소스를 사용하는 스프라이트라도 개별적
으로 적용되던 게 안됨
스프라이트 성능 개선의 부작용
상세한 내용은…
https://github.com/cocos2d/cocos2d-
x/blob/develop/docs/RELEASE_NOTES.md
cocos2d-x v3.0 Release Notes
Cocos2d-x 의 미래
• 3D 엔진으로의 확장
• Cocos3d는 objective-C 로 구현된 Cocos2d-
iPhone을 3D로 확장한 것이다.
• https://github.com/cocos3d/cocos3d
• Cocos3d-x는 Cocos2d-x를 기반
• https://github.com/cocos2d/cocos3d-x
Cocos3d-x
• 이미 v3.0에서 Box2d엔진 내부로 통합
• 리카르도 퀘사다가 유체 물리 엔진 LiquidFun과
의 통합 작업중
• 차기 버전에 LiquidFun 지원 추가 가능성 높음
유체 물리 엔진 도입 LiquidFun
Q and A
Cocos2d x v3.0 무엇이 달라졌나? (20140426)

More Related Content

What's hot

동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념Changhwan Yi
 
동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능Changhwan Yi
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능Changhwan Yi
 
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장ukjinkwoun
 
동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능Changhwan Yi
 
[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료MinGeun Park
 
17. cocos2d 기초
17. cocos2d  기초17. cocos2d  기초
17. cocos2d 기초Sangon Lee
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문Jin Woo Lee
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술MinGeun Park
 
Ccx03.cocos builder
Ccx03.cocos builderCcx03.cocos builder
Ccx03.cocos builder우진 이
 
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정JinYeong Wang
 
Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11민웅 이
 
3 d 그래픽 엔진 비교
3 d 그래픽 엔진 비교3 d 그래픽 엔진 비교
3 d 그래픽 엔진 비교yoonhs306
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SeongWan Kim
 
Unity Auto Build iOS
Unity Auto Build iOSUnity Auto Build iOS
Unity Auto Build iOSGiseok Lee
 

What's hot (20)

동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
 
동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능동국대 앱창작터 4일차:Cocos2d-X 고급기능
동국대 앱창작터 4일차:Cocos2d-X 고급기능
 
동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능동국대 앱창작터 5일차:Cocos2d-X 확장기능
동국대 앱창작터 5일차:Cocos2d-X 확장기능
 
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
만들면서 배우는 Cocos2d x 멀티 플랫폼 게임 프로그래밍 10-11장
 
동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능
 
[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료
 
17. cocos2d 기초
17. cocos2d  기초17. cocos2d  기초
17. cocos2d 기초
 
Direct x 11 입문
Direct x 11 입문Direct x 11 입문
Direct x 11 입문
 
2D games with iOS or Corona
2D games with iOS or Corona2D games with iOS or Corona
2D games with iOS or Corona
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 
Ccx03.cocos builder
Ccx03.cocos builderCcx03.cocos builder
Ccx03.cocos builder
 
Coco2d x
Coco2d xCoco2d x
Coco2d x
 
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정
NVIDIA GPU CLOUD로 시작하는 딥러닝 환경설정
 
Kinect pc
Kinect   pcKinect   pc
Kinect pc
 
Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11
 
3 d 그래픽 엔진 비교
3 d 그래픽 엔진 비교3 d 그래픽 엔진 비교
3 d 그래픽 엔진 비교
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
Cocos2d x
Cocos2d xCocos2d x
Cocos2d x
 
SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발SPH 기법을 이용한 2D 물 물리 엔진 개발
SPH 기법을 이용한 2D 물 물리 엔진 개발
 
Unity Auto Build iOS
Unity Auto Build iOSUnity Auto Build iOS
Unity Auto Build iOS
 

Viewers also liked

[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)Sang Don Kim
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심흥배 최
 
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례Junki Kim
 
국내게임엔진 1
국내게임엔진 1국내게임엔진 1
국내게임엔진 1JongHyoun
 
좋은 뷰, 나쁜 뷰, 이상한 뷰
좋은 뷰, 나쁜 뷰, 이상한 뷰좋은 뷰, 나쁜 뷰, 이상한 뷰
좋은 뷰, 나쁜 뷰, 이상한 뷰Leonardo YongUk Kim
 
GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터Mark Choi
 
Dll파일 호출
Dll파일 호출Dll파일 호출
Dll파일 호출abapier
 
게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출hongsungbock
 
C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2진상 문
 
[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기Sun Park
 
4.5부동소수점
4.5부동소수점4.5부동소수점
4.5부동소수점JaeHong Park
 
Silverlight vs flash
Silverlight vs flashSilverlight vs flash
Silverlight vs flash권 태혁
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)SeongWan Kim
 
Dom 생성과정
Dom 생성과정Dom 생성과정
Dom 생성과정abapier
 
Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Thisisone Lee
 
GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체Mark Choi
 
[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp진현 조
 

Viewers also liked (18)

[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심
 
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
HTML5 게임 엔진 - OK캐쉬백 게임이벤트 개발 사례
 
국내게임엔진 1
국내게임엔진 1국내게임엔진 1
국내게임엔진 1
 
좋은 뷰, 나쁜 뷰, 이상한 뷰
좋은 뷰, 나쁜 뷰, 이상한 뷰좋은 뷰, 나쁜 뷰, 이상한 뷰
좋은 뷰, 나쁜 뷰, 이상한 뷰
 
GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터
 
Dll파일 호출
Dll파일 호출Dll파일 호출
Dll파일 호출
 
게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출
 
C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2
 
[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기
 
4.5부동소수점
4.5부동소수점4.5부동소수점
4.5부동소수점
 
Silverlight vs flash
Silverlight vs flashSilverlight vs flash
Silverlight vs flash
 
투영 공식
투영 공식투영 공식
투영 공식
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)
 
Dom 생성과정
Dom 생성과정Dom 생성과정
Dom 생성과정
 
Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2Chapter 2, 선형 변환과 행렬 1/2
Chapter 2, 선형 변환과 행렬 1/2
 
GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체
 
[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp[조진현]Kgc2012 c++amp
[조진현]Kgc2012 c++amp
 

Similar to Cocos2d x v3.0 무엇이 달라졌나? (20140426)

Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012Chanho Song
 
Html5 게임 기술의 개요
Html5 게임 기술의 개요Html5 게임 기술의 개요
Html5 게임 기술의 개요Changhwan Yi
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정funmeate
 
[0602 박민근] direct2 d
[0602 박민근] direct2 d[0602 박민근] direct2 d
[0602 박민근] direct2 dMinGeun Park
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5YEONG-CHEON YOU
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기iFunFactory Inc.
 
[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유Hwan Min
 
게임개발 Cocos2d-x 소프트웨어씽킹연구소
게임개발 Cocos2d-x 소프트웨어씽킹연구소게임개발 Cocos2d-x 소프트웨어씽킹연구소
게임개발 Cocos2d-x 소프트웨어씽킹연구소swthinking
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android 종국 임
 
C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)지환 김
 
[9XD] Introduction to Computer Graphics
[9XD] Introduction to Computer Graphics[9XD] Introduction to Computer Graphics
[9XD] Introduction to Computer GraphicsChris Ohk
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈Changhwan Yi
 
ICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ESICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ESSeongWan Kim
 
[0129 박민근] direct x2d
[0129 박민근] direct x2d[0129 박민근] direct x2d
[0129 박민근] direct x2dMinGeun Park
 
장치 문맥을 이용한Direct2D
장치 문맥을 이용한Direct2D장치 문맥을 이용한Direct2D
장치 문맥을 이용한Direct2D희규 김
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .YEONG-CHEON YOU
 

Similar to Cocos2d x v3.0 무엇이 달라졌나? (20140426) (20)

Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012
 
Html5 게임 기술의 개요
Html5 게임 기술의 개요Html5 게임 기술의 개요
Html5 게임 기술의 개요
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
Kinect sdk사용하기
Kinect sdk사용하기Kinect sdk사용하기
Kinect sdk사용하기
 
[0602 박민근] direct2 d
[0602 박민근] direct2 d[0602 박민근] direct2 d
[0602 박민근] direct2 d
 
Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5Introduction to DirectX 12 Programming , Ver 1.5
Introduction to DirectX 12 Programming , Ver 1.5
 
Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기Docker 로 Linux 없이 Linux 환경에서 개발하기
Docker 로 Linux 없이 Linux 환경에서 개발하기
 
[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유
 
게임개발 Cocos2d-x 소프트웨어씽킹연구소
게임개발 Cocos2d-x 소프트웨어씽킹연구소게임개발 Cocos2d-x 소프트웨어씽킹연구소
게임개발 Cocos2d-x 소프트웨어씽킹연구소
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android
 
C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)C#으로 게임 엔진 만들기(3)
C#으로 게임 엔진 만들기(3)
 
[9XD] Introduction to Computer Graphics
[9XD] Introduction to Computer Graphics[9XD] Introduction to Computer Graphics
[9XD] Introduction to Computer Graphics
 
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
2013 W3C HTML5 Day Conferences:HTML5 Game App 개발 및 이슈
 
ICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ESICON 2011 Introduction to OpenGL ES
ICON 2011 Introduction to OpenGL ES
 
[0129 박민근] direct x2d
[0129 박민근] direct x2d[0129 박민근] direct x2d
[0129 박민근] direct x2d
 
장치 문맥을 이용한Direct2D
장치 문맥을 이용한Direct2D장치 문맥을 이용한Direct2D
장치 문맥을 이용한Direct2D
 
Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .Tips and experience of DX12 Engine development .
Tips and experience of DX12 Engine development .
 

More from SeongWan Kim

딥러닝에 다가가기 (Ai 스쿨 2017)
딥러닝에 다가가기 (Ai 스쿨 2017)딥러닝에 다가가기 (Ai 스쿨 2017)
딥러닝에 다가가기 (Ai 스쿨 2017)SeongWan Kim
 
인공지능과 게임
인공지능과 게임인공지능과 게임
인공지능과 게임SeongWan Kim
 
또 다른 지구를 찾아라
또 다른 지구를 찾아라 또 다른 지구를 찾아라
또 다른 지구를 찾아라 SeongWan Kim
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발SeongWan Kim
 
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기SeongWan Kim
 
ICON 2009 게임을 위한 유체 동역학
ICON 2009 게임을 위한 유체 동역학ICON 2009 게임을 위한 유체 동역학
ICON 2009 게임을 위한 유체 동역학SeongWan Kim
 
Icon2008 실시간 레이트레이싱과 게임의 미래
Icon2008 실시간 레이트레이싱과 게임의 미래Icon2008 실시간 레이트레이싱과 게임의 미래
Icon2008 실시간 레이트레이싱과 게임의 미래SeongWan Kim
 
적응광학 Adaptive optics
적응광학 Adaptive optics적응광학 Adaptive optics
적응광학 Adaptive opticsSeongWan Kim
 
우주 배경 복사와 우주 거대 구조
우주 배경 복사와 우주 거대 구조우주 배경 복사와 우주 거대 구조
우주 배경 복사와 우주 거대 구조SeongWan Kim
 
도시 열섬 현상
도시 열섬 현상도시 열섬 현상
도시 열섬 현상SeongWan Kim
 
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과SeongWan Kim
 
지구 온난화는 사실인가 (김성완 2015.9.6)
지구 온난화는 사실인가 (김성완 2015.9.6)지구 온난화는 사실인가 (김성완 2015.9.6)
지구 온난화는 사실인가 (김성완 2015.9.6)SeongWan Kim
 

More from SeongWan Kim (12)

딥러닝에 다가가기 (Ai 스쿨 2017)
딥러닝에 다가가기 (Ai 스쿨 2017)딥러닝에 다가가기 (Ai 스쿨 2017)
딥러닝에 다가가기 (Ai 스쿨 2017)
 
인공지능과 게임
인공지능과 게임인공지능과 게임
인공지능과 게임
 
또 다른 지구를 찾아라
또 다른 지구를 찾아라 또 다른 지구를 찾아라
또 다른 지구를 찾아라
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발
 
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기
ICON 2010 3D 게임에서 색차 방식의 3D 입체 영상 구현하기
 
ICON 2009 게임을 위한 유체 동역학
ICON 2009 게임을 위한 유체 동역학ICON 2009 게임을 위한 유체 동역학
ICON 2009 게임을 위한 유체 동역학
 
Icon2008 실시간 레이트레이싱과 게임의 미래
Icon2008 실시간 레이트레이싱과 게임의 미래Icon2008 실시간 레이트레이싱과 게임의 미래
Icon2008 실시간 레이트레이싱과 게임의 미래
 
적응광학 Adaptive optics
적응광학 Adaptive optics적응광학 Adaptive optics
적응광학 Adaptive optics
 
우주 배경 복사와 우주 거대 구조
우주 배경 복사와 우주 거대 구조우주 배경 복사와 우주 거대 구조
우주 배경 복사와 우주 거대 구조
 
도시 열섬 현상
도시 열섬 현상도시 열섬 현상
도시 열섬 현상
 
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과
컴퓨터 시뮬레이션으로 확인해보는 특수상대성이론의 시각적 효과
 
지구 온난화는 사실인가 (김성완 2015.9.6)
지구 온난화는 사실인가 (김성완 2015.9.6)지구 온난화는 사실인가 (김성완 2015.9.6)
지구 온난화는 사실인가 (김성완 2015.9.6)
 

Cocos2d x v3.0 무엇이 달라졌나? (20140426)

  • 1. Cocos2d-x v3.0 무엇이 달라졌나? 2014. 4. 27 김 성 완 젬스푼 부산게임아카데미 인디라! 인디게임개발자 모임
  • 2. Cocos2d-x란? Cocos2d-x의 역사 Cocos2d-x는 어떤 엔진인가? Cocos2d-x는 누구를 위한 것인가? Cocos2d-x v3.0 Cocos2d-x의 미래 목차
  • 4. • 오픈소스 Cocos2d 엔진의 브랜치 중 하나 • 다중 플랫폼을 지원하는 2D 게임 엔진 • Cocos2d-x 엔진의 전신은 Cocos2d-iPhone • Objectve-C로 작성된 Cocos2d-iPhone을 C++ 언어로 포 팅 • 엔진의 이름 끝에 붙은 x는 다중 플랫폼을 지원한다는 의미 Cocos2d-x는
  • 5. • 애플사의 iOS 운영체체 환경의 기본 프로그래밍 언어인 Objective-C로 작성 • 기본적으로는 애플의 iOS 환경에서만 사용 가능 • Cocos2d 엔진을 널리 알린 가장 인기있던 브랜치 • Cocos2d-x는 이를 범용성 높은 C++ 언어로 포팅해서 여 러 플랫폼을 쉽게 지원할 수 있도록 한 것이다. Cocos2d-iPhone
  • 6. • Mac OSX 10.7+ & iOS 5+ • Android 2.3+ • Windows 7+ & Windows Phone 8+ • Linux Ubuntu 12.04+ Cocos2d-x v3.0 지원 플랫폼
  • 7. • Xcode 4.6 (for iOS, Mac) • gcc 4.7 for Linux or Android(ndk-r9+) • Visual Studio 2012 (for Windows) Compiler 요구 사항
  • 8. 2010년 중국의 개발자 왕저(Wang Zhe)에 의해 C++로 포팅되었다. Cocos2d-x 의 개발자
  • 9. 왕저(王哲) 현재 추콩 테크놀로지의 부사장이자 Cocos2d-x 개발을 이끌고 있다. (추콩에 인수된 Xiamen Coco Software의 대표였다.) 2013년 11월 말에는 한국에도 방문 하였다.
  • 10.
  • 11. ● 北京触控科技有限公司 ● www.chukong-inc.com ● 触控(촉공) Chukong : Touch & Drag ● 현재 Cocos2d-x의 개발을 지원하고 있다. ● 추콩의 전신은 CocoaChina.com으로서 애플의 코코아 프레임웍의 기술 정보를 공유할 목적으로 만들어진 개발자 커뮤니티 사이트였 다. ● 현재 해당 사이트는 중국에서 가장 큰 규모의 iOS 개발자 커뮤니티 로 성장했고, 현재 26만명의 개발자가 회원으로 가입되어 있다. 추콩 테크놀로지?
  • 12.
  • 14. ● 2008년 아르헨티나의 게임 개발자인 리카르도 퀘사다 (Ricardo Quesada)와 그의 동료 개발자들에 의해서 Python 언어로 처음 만들어진 것이다. ● Cocos2d가 탄생한 곳은 아르헨티나 코르도바 근처의 Los Cocos 라는 마을이다. ● 처음에는 엔진의 이름을 마을 이름을 따서 Los Cocos 라 고 했다가 나중에 0.1 버전을 출시하면서 이름을 Cocos2d로 바꾸었다. Cocos2d 의 역사
  • 16. • python으로 만들어진 Cocos2d가 출시된 직후 애플의 앱 스토어가 열리고 iPhone SDK가 공개된다. • 앱스토어의 미래 가능성을 보고 바로 같은 해에 Cocos2d 를 Objective-C 언어로 다시 작성한다. • Cocos2d-x 엔진의 전신이 되는 Cocos2d For iPhone v0.1 을 공개하게 된다. Cocos2d-x 의 역사
  • 17. • Cocos2d의 아버지 (아르헨 티나 출신) • 2011년 징가로 이직하며 미 국으로 이주 • 2013년 Cocos2d-iPhone 을 떠나 Cocos2d-x 팀에 합류 Ricardo Quesada
  • 18. Rolando Abarca (funkaster), Ricardo Quesada (Riq), Zhe Wang (Walzer) GDC 2012
  • 19. ● ShinyCocos, in Ruby ● Cocos2d-Android, in Java for Android only ● Cocos2d-windows, in C++ for Windows XP/7 only ● CocosNet, in C# base on Mono ● Cocos2d-javascript, in Javascript for browsers Cocos2d는 여러 언어로 포팅되었다
  • 20.
  • 21. Cocos2d-x 는 어떤 엔진 인가?
  • 22. Cocos2d-x 로 만들어진 국내 게임들
  • 24. Cocos2d-x 엔진의 위상 ● Cocos2d-x 게임들 매출 순위 최상위 등극 ● 전세계 점유율 26% (추콩) ● 중국내 점유율 70% ● 중국내 Cocos2d-x 프로그래머 몸값 2배(?) ● Chukong, Google, Microsoft, ARM, Intel and BlackBerry ● Zynga, Wooga, Glu, IGG, Big Fish Games, Fingersoft, Gamevil, GREE, DeNA, Konami, CJ E&M, NHN, LINE, Square Enix and Disney Mobile
  • 25.
  • 27. • March 16th 2014, Cocos2d-x team successfully held the first Cocos2d-x Engine Hackathon in Beijing, China. • The event lasted for 12 hours, during which more than 20 groups of developers coded to make Cocos2d-x an even better engine and to demonstrate the spirit and advantage of open source. • Ricardo Quesada, the father of Cocos2d and the Chief Architect of Chukong, • Justin Graham, the co-founder of Zynga • Zhe Wang, Chief Architect of CocoStudio and the author of Cocos2d-x, • Xiaolong Zhang, the author of CocoStudio, • Shun Lin, the author of Cocos2d-html5 Cocos2d-x Engine Hackathon
  • 28.
  • 30. http://cocos2d.org/ Python 최신 버전 0.6.0 (2014. 3월 현재) Cocos2d (Python)
  • 31. http://www.cocos2d-iphone.org/ Objective-C 최신 버전 3.0 RC5 (2014년 4월 현재) Cocos2d-iPhone
  • 33. ● Flow control: Manage the flow control between different scenes in an easy way ● Sprites: Fast and easy sprites ● Actions: Just tell sprites what you want them to do. Composable actions like move, rotate, scale, etc ● Effects: Effects like waves, twirl, lens and much more ● Particle Systems: Explosions, fireworks, meteors, smoke and more ● Tiled maps: Support for rectangular and hexagonal tiled maps ● Collision: Basic pure python support for collisions ● Transitions: Move from scene to scene with style ● Menus: Built in classes to create menus ● Text rendering original Cocos2d (python) 기능
  • 34. OpenGL 기반의 그래픽 엔진 OpenGL 2.1 데스크탑 버전 OpenGL ES 2.0 모바일 버전
  • 35. ● Cocos2d-x의 스프라이트는 단순한 시각적인 이미지 이상의 역할을 한다. ● Cocos2d-x 에서 스프라이트는 하나의 객체로서 시각적으로 보여지는 화면의 가장 기본 구성 요 소가 된다. ● Cocos2d-x 에서 스프라이트를 여러가지 방법으로 움직이고 돌리고 변형할 수 있다. ● 그래픽적인 측면에서 보면 Cocos2d-x 는 스프라이트 그래픽 엔진이라고 할 수 있다. 스프라이트 엔진
  • 36. Scene & Layers (Scene Graph)
  • 37.
  • 38. ● CocoStudio(공식), CocosBuilder ● Level Helper & Sprite Helper ● Spine, Dragon Bones ● Glyph Desinger ● Zwoptex, Texture Packer ● Particle Designer ● Tiled Map Editor 지원 툴들
  • 39. • UI editor for UI graphic artists • Animation editor for graphic artists • Number cruncher for game data designers • Scene editor for game designers CocoStudio
  • 40.
  • 41.
  • 42. ● Cocos2d-JS v3.0alpha2 ● Cocos2d-html5 + Cocos2d-x javascript binding Cocos2d-x 의 사촌
  • 43. Cocos2d-x 는 누구를 위 한 엔진인가?
  • 44. • 모바일용 2D 게임에 최적 적은 메모리 용량, 빠른 처리 속도 • C++에 익숙한 기존 프로그래머에게 유리 • 풍부한 2D 기능, OpenGL 기능 직사용 가능 Cocos2d-x 가 적합한 조건
  • 45. • 유니티에 비하면 개발이나 빌드가 불편하다. • C++ 언어에 능숙해야 한다. • 공식 문서나 메뉴얼이 부실하다. Cocos2d-x의 단점
  • 47. 아파치 ANT를 이용하여 NDK 컴파일과 안드로이드 SDK 컴파일이 일괄적으 로 한번에 이루어 진다. 안드로이드 빌드 개선
  • 48. • Cocos2d-x 클래스들의 접두어 CC 제거 예) CCSprite ----> Sprite 예) CCScene -----> Scene • auto 키워드 : c++11 의 자동 형 지정자의 적극적인 사용 Sprite *spr = Sprite::create(“sprimag.png”); auto spr = Sprite::create("sprimage.png"); • Singleton : Director::getInstance() instead of CCDirector::shareDirector() 달라진 점
  • 49. • Container class v2.0 : CCArray, CCDictionary • Objective-C : NSArray, NSDictionary 에서 유래 • cocos2d::Vector<T> , cocos2d::Map<K,V> • CCString ----> cocos2d::Value • CCARRRAY_FOREACH 를 c++ 11 의 range based for 문으로 대체 달라진 점 : Container class 교체
  • 50. • 콜백 지정매크로 함수 바뀜 menu_selector(callback) --> CC_CALLBACK_0(callback, this) callfunc_selector(callback) --> CC_CALLBACK_0(callback, this) • 객체 기반 클래스 CCObject ------> Ref 바뀜 달라진 점
  • 51. 물리 엔진 Cocos2d-x 에 통합 Box2d의 가벼운 버전 Chipmunk void HelloWorld::addNewSpriteAtPosition(Point p) { auto sprite = Sprite::create("circle.png"); sprite->setTag(1); auto body = PhysicsBody::createCircle(sprite->getContentSize().width / 2); sprite->setPhysicsBody(body); sprite->setPosition(p); this->addChild(sprite); } 달라진 점 : 물리 엔진 통합
  • 52. ● 스프라이트 내부 처리 개선: Renderer와 Scene Graph 분리 ● Auto Batching : 스프라이트 렌더링 속도 향상을 위해 굳이 SpriteBatchNode를 사용할 필요 없음 ● Auto Culling : 화면 경계 벗어난 스프라이트 자 동 컬링 스프라이트 렌더링 성능 개선
  • 53. • 3.0 에서 안되는 기능 썬더 더 레트로는 2.1 버전에서 RenderTexture 에 타일을 하나씩 그려서 배경을 조립한 다음 화면에 뛰우는 방법 사용 3.0 에서는 한번 그린 타일은 다시 반복해서 그려지지 않기 때문에 이 방법이 먹히지 않는다. 타일을 모두 독립적인 스프라이트 객체로 생성해야 한다. • 2.1 부터 안되는 기능 스프라이트 텍스츄어 속성 변경이 동일한 텍스츄어 이미지 소스를 사용하는 스프라이트라도 개별적 으로 적용되던 게 안됨 스프라이트 성능 개선의 부작용
  • 56. • 3D 엔진으로의 확장 • Cocos3d는 objective-C 로 구현된 Cocos2d- iPhone을 3D로 확장한 것이다. • https://github.com/cocos3d/cocos3d • Cocos3d-x는 Cocos2d-x를 기반 • https://github.com/cocos2d/cocos3d-x Cocos3d-x
  • 57.
  • 58. • 이미 v3.0에서 Box2d엔진 내부로 통합 • 리카르도 퀘사다가 유체 물리 엔진 LiquidFun과 의 통합 작업중 • 차기 버전에 LiquidFun 지원 추가 가능성 높음 유체 물리 엔진 도입 LiquidFun
  • 59.