Game Programming/Game Engine
Cocos2d-x :: 3.x 대와 2.x의 차이점 및 변경점VallistA2014. 7. 4. 16:11
Cocos2d-x 는 급속적인 발전을 하는 엔진입니다.
벌써 몇년동안 지속되어 왔으며, Cocos2d-x 의 전신인 cocos2d보다 더 높은 발전을 하고 있습니다.
자 이전 버전인 Cocos2d-x 2.x 대와 Cocos2d-x 3.x 대의 변경점에 대해서 알아봅시다.
1. 파이썬의 적극적인 사용
Cocos2d-x 2.x 대에서는 Cygwin 을 사용하여 리눅스 컴파일러로 크로스 플랫폼(안드로이드)을 지원했습니다.
하지만 Cocos2d-x 3.x 에서는 Cygwin을 과감히 버리고 (기존의 어려웟던 크로스 플랫폼 방식 개선) Python으로 전부 바꾼 행보를 보여줍니다.
<그림 1> 확 바뀌어 버린 build_native.sh -> build_native.py
그래서 안드로이드를 컴파일할떄 파이썬을 사용하여 더욱 편리한 컴파일을 지원하게 되었습니다.
2. 안드로이드 빌드의 개선
새롭게 APACHE를 지원하게 되어, Eclipse에서 빌드를 안하여도 콘솔창에서 빌드가 가능하도록 변경되었습니다.
(다만 Eclipse 고유로 사용하는 것의 경우에는 Eclipse를 켜서 Java 코딩을 하셔야 합니다)
3. CC 접두어의 제거
가장큰 변화 중 하나인 CC 접두어의 제거입니다.
EX)
CCSprite -> Sprite
CCFrame -> Frame
CCScene -> Scene
등으로 변경이 되었습니다.
4. Auto 키워드의 적극적인 사용
Cocos2d-x 의 내부가 Auto 키워드를 적극적으로 사용합니다.
Auto 키워드를 사용함으로써, Application.mk에 c++ 11버전을 지원하게 되었습니다.
5. SingleTon 메서드의 변환
기존에 있었던 싱글톤의 경우 전부 sharedDirector()로 되어 있었던게 getInstance() 로 변경이 되었습니다.
6. Container class 변경
기존에 많이 사용하던 컨테이너클래스가 변경되었습니다.
Container class 버전 2.0 ::
CCArray - > Vector<T>
CCDictionary -> Map<K,V>
CCString -> cocos2d::Value
CCARRAY_FOREACH -> (c++ 11) range based for
7. Callback Macro 함수 변경
menu_selector(callback) -> CC_CALLBACK_0(callback , this)
callfunc_selector(callback) -> CC_CALLBACK_0(callback , this)
로 변경
8. CCObject 변경
CCObject -> Ref 변경
9. 물리엔진 통합
물리 엔진이 Cocos2d-x 에 통합되었습니다.
Box2d -> Chipmunk 로 변경되었습니다.
10. Sprite Rendering 성능 개선
Sprite 내부 처리 개선 : Renderer 와 Scene Graph의 분리
Auto Batching : 스프라이트 렌더링 속도 향상을 위해 SpriteBatchNode를 사용 안해도 됨
Prostum Calling : 화면 밖으로 나가는 스프라이트 자동으로 컬링 해줌
'Game Programming > Game Engine' 카테고리의 다른 글
Cocos2d-x :: Font 한글 출력 문제 (한글 깨짐) (cocos2d-x 2.x , 3.x) (4) | 2014.07.21 |
---|---|
Cocos2d-x :: 3.x 터치 이벤트 (0) | 2014.07.21 |
cocos2d-x :: Couldn't find the gcc toolchain (0) | 2014.07.04 |
Cocos2d-x :: Android 음악 최대 출력 갯수 변경 in SoundPool (0) | 2014.06.13 |
cocos2d-x :: 클래스 추가 필요없이 자동으로 Classes 폴더 읽어서 넣기 (0) | 2014.05.15 |
댓글
VallistA
병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!
자고 싶습니다. ㅠㅠ
Github :: 링크
궁금한점 문의 주시면 답변드리도록 하겠습니다
VISITED
Today :
Total :
Lately Post
Lately Comment