6. Cocos2d Cross-Platform
Branch Target Platform API Language
Cocos2d Windows, OS X, Linux
Python 2.6, 2.7 or 3.3+,Ob
jective-C
Cocos2d-x
iOS, Android, Tizen, Wind
ows 8, Windows Phone 8,
Linux, Mac OS X
C++11,C++,
Lua, JavaScript
Cocos2d-SpriteBuilder iOS, Mac OS X, Android Objective-C, Swift
Cocos2d-html5 HTML5-ready browsers JavaScript
Cocos2d-xna
Windows Phone 7 & 8, Wi
ndows 7 & 8, Xbox 360
C#
31. WHY?
• Decoration Patton
• Can Delete all
SuperClass
BaseClass
Extend 1 Class Extend 1 Class Extend 1 Class
32. Managed or Unmanaged
• Managed Memory
• 정의된 동작에 의해 삭
제가 되어야 함
• 직접 삭제를 하면 의존
성 문제로 NULL을 접근
할 수 가 있음
• 메모리 Leak이 발생하
지 않음
• Unmanaged Memory
• 직접 모두 제거를 해줘
야 함
• 메모리관리가 매우 유
용함.
• 메모리 Leak이 발생할
수 있음
46. C++11
• C++98
• 잘 알려지지 않음
• C++0x
• Boost 라이브러리의 정규 라이브러리로 편입화 시도
• 새로운 함수형 언어 시도
• C++11
• 공식적으로 boost 라이브러리 일정 부분을 STL로 인정
함
• 함수형 언어 디자인을 개발 가능하게 추가함
49. C++11 for each
#include <iostream>
int main()
{
std::string hello( "Hello, world!" );
//for (char ch : hello) 이것도 된다.
for each (char ch in hello) {
std::cout << ch;
}
return 0;
}
53. Var
• var
• 자바 스크립트에서 똑같은 var
• 컴파일때 타입을 찾아 결정해줌
• Ex) var temp = 1; //temp는 int 결정해줌
54. C++으로 충분한데 왜?
Button
Login Button Next Button
Buy Button Pause Button
Cancel Button
Button
Click Event
Function
Login Function
Next Function
Buy Function
Pause Function
56. 결론
1. C++11 활용하면 중복코드 없이 쉽게 개발이가
능
2. Cocos2dx는 오픈소스! 버그가 있다면 직접 수
정가능
3. Andorid, IOS 에서도 호환가능한 프로젝트가 제
작됨
4. Managed Code, UnManaged Code 구분해서 개
발 해야함.