์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
์ถœ์‹œ
์œ ํ˜•
๊ธฐ๋ฐ˜ ์–ธ์–ด
์š”๊ธˆ
1. ๊ฐœ์š”2. ์—ญ์‚ฌ3. Cocos2d-x
3.1. ๋งˆ์Šค์ฝ”ํŠธ Grossini3.2. Cocos2d-x ๊ธฐ๋ฐ˜์˜ ๊ฒŒ์ž„๋“ค3.3. ์ง„์ž… ์žฅ๋ฒฝ3.4. Cocos2dx 3.03.5. ๊ด€๋ จ ์ปค๋ฎค๋‹ˆํ‹ฐ

1. ๊ฐœ์š”[ํŽธ์ง‘]

Cocos2d๋Š” ์˜คํ”ˆ ์†Œ์Šค 2D ๊ฒŒ์ž„ ์—”์ง„์œผ๋กœ ๋Œ€ํ‘œ์ ์ธ 2d-x ๋ฒ„์ „์„ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ณ€์ข…์ด ์žˆ๋‹ค.

2. ์—ญ์‚ฌ[ํŽธ์ง‘]

Cocos2d๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋œ ๊ฒŒ์ž„ ์—”์ง„์ด๋‹ค. ๋‚˜์ค‘์— ์•ฑ์Šคํ† ์–ด๊ฐ€ ์„ค๋ฆฝ๋˜๊ณ  ์•„์ดํฐ ์•ฑ SDK๊ฐ€ ๋ฐฐํฌ๋˜์ž ๊ฐœ๋ฐœ์ž ํ•œ ๋ช…์ธ Ricardo Quesada๊ฐ€ Cocos2d๋ฅผ Objective-C๋กœ ์žฌ์ž‘์„ฑํ•˜์—ฌ Cocos2d-iPhone์„ ๋งŒ๋“ค์—ˆ๊ณ , ์ด๊ฒƒ์ด ๋‚˜์ค‘์— Cocos2d-x์˜ ๋ชจํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค.

๊ทธ ๋’ค์— ์ค‘๊ตญ์˜ Zhe Wang์ด Cocos2d๋ฅผ ํฌํฌํ•˜์—ฌ Cocos2d-x ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜์˜€๋‹ค. Cocos2d-x์—์„œ๋Š” ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”Œ๋žซํผ์„ ๋Œ€์ƒ์œผ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ, ๊ทธ ๋‹ค์Œ์— Ricardo Quesada๋Š” Cocos2d-iPhone ํ”„๋กœ์ ํŠธ์— ๋– ๋‚˜ Cocos2d-x ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ–ˆ๋‹ค. ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ Cocos2d-x์˜ ํฌํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
  • Cocos2d-x
  • Cocos2d-HTML5
  • Cocos2D-ObjC (่ˆŠ Cocos2d-iPhone)
  • Cocos2d-XNA

3. Cocos2d-x[ํŽธ์ง‘]

๊ธฐ๋ณธ์ ์œผ๋กœ Windows, macOS, Linux, Android, iOS ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. ๋‹ค๋งŒ PC์ชฝ์˜ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์€ ๋ฏธ๋น„ํ•˜๋ฉฐ[1] ์ƒํ™ฉ์ด ์ด๋ ‡๋‹ค ๋ณด๋‹ˆ PC๋กœ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ํ„ฐ์ง€๋‚˜ ์•ˆํ„ฐ์ง€๋‚˜ ํ™•์ธํ•˜๋ฉด์„œ ๋””๋ฒ„๊น…๋งŒ ํ•˜๊ณ , ์ •์ž‘ ์™„์„ฑ ๋นŒ๋“œ๋Š” iOS๋‚˜ Android๋กœ ๋‚ด๋ณด๋‚ด๋Š” ์ƒํ™ฉ์ด๋‹ค.

3.1. ๋งˆ์Šค์ฝ”ํŠธ Grossini[ํŽธ์ง‘]


์• ๋‹ˆ๋ฉ”์ด์…˜

Unity์— ์œ ๋‹ˆํ‹ฐ์งฑ ์ด ์žˆ๋‹ค๋ฉด Cocos2d-x์—” ์ด ์•„์ €์”จ๊ฐ€ ์žˆ๋‹ค. Cocos2d ํด๋” /build/ ๊ฒฝ๋กœ์— ์žˆ๋Š” ํ…Œํฌ ๋ฐ๋ชจ(tech demo)๊ฒฉ์ธ ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฌ๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๊ฐ€์žฅ ๋งŽ์ด ๋ณด๊ฒŒ ๋ , ๋ช…์‹ค์ƒ๋ถ€ํ•œ Cocos์˜ ๋งˆ์Šค์ฝ”ํŠธ. ์ž์ฒด ์• ๋‹ˆ๋ฉ”์ด์…˜๋„ ์žˆ๋Š”๋ฐ, ์ œ์ž๋ฆฌ ๊ฑท๊ธฐ๋ฅผ ํ•˜๋‹ค๊ฐ€ ๋ชฉ์„ ๋Œ๋ฆฌ๋Š” ๊ดด์ƒํ•œ ๋™์ž‘์ด๋‹ค. ๋ณธ๋ž˜ ๋ชฉ์ ์€ SpriteAnimation ๋ฐ๋ชจ์šฉ์ด์ง€๋งŒ, ๊ทธ ๋ฐ–์˜ ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ณณ๋“ค์— ๋‹จ๊ณจ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

3.2. Cocos2d-x ๊ธฐ๋ฐ˜์˜ ๊ฒŒ์ž„๋“ค[ํŽธ์ง‘]

3.3. ์ง„์ž… ์žฅ๋ฒฝ[ํŽธ์ง‘]

๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ”์ฝ”์Šค๋ฅผ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๋ ค๋ฉด ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๋Œ€๋žต์ ์ธ ์ดํ•ด๋Š” ํ•ด์•ผ ํ•˜๋ฉฐ, STL์„ ๋Šฅ์ˆ™ํžˆ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•˜๊ณ , C++์˜ ์ƒ์† ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ์ˆ ์„ ๋ชจ๋‘ ์•Œ์•„์•ผ ํ•œ๋‹ค. iOS์˜ ๊ฒฝ์šฐ Objective-C๋‚˜ Swift, ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๊ฒฝ์šฐ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ๊ฐ–๋‹ค ์“ธ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์œผ๋‚˜ jni ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋˜ *.h๋‚˜ *.cpp ํŒŒ์ผ์„ ์ž์ฒด์ ์œผ๋กœ ์—ด์–ด์„œ ์ฝ”์–ด ๋กœ์ง์„ ์ฝ๋Š” ๊ฒƒ์ด ์Šต๊ด€ํ™”๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ์„ธํŒ… ๋“ฑ ์ˆ˜๋™์œผ๋กœ ์†๋ด์ค˜์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋งค์šฐ ๋งŽ์€ ์ ๋„ ์ปค๋‹ค๋ž€ ์ง„์ž…์žฅ๋ฒฝ. ์ฝ”๋“œ๋ฅผ ์งœ๋ณด๊ธฐ๋Š”์ปค๋…• ํ”„๋กœ์ ํŠธ ์„ธํŒ…์กฐ์ฐจ ๋ชป ํ•˜๊ณ  ๋‚˜๊ฐ€ ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ถ€์ง€๊ธฐ์ˆ˜์ด๋‹ค. ์—ฌ๊ธฐ์— ํ•œ๊ธ€ ๋ฌธ์„œ๋„ ์‚ฌ์‹ค์ƒ ์ „๋ฌดํ•œ ์ˆ˜์ค€์ผ ๋ฟ ์•„๋‹ˆ๋ผ, ์˜์–ด ๋ฌธ์„œ์กฐ์ฐจ ์ ์–ด ์ผ๋ณธ์–ด๋‚˜ ์ค‘๊ตญ์–ด ์‚ฌ์ดํŠธ๋ฅผ ๋ฒˆ์—ญ๊ธฐ๋กœ ๋ณด๋ฉด์„œ ๋ฒ„ํ…จ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ์–ธ๋ฆฌ์–ผ ์—”์ง„, ์œ ๋‹ˆํ‹ฐ ์—”์ง„์€ ์ƒ์—…์„ฑ์„ ๋‘๊ณ  ์˜์—…์„ ํ•˜๋Š” ๋ฐ˜๋ฉด, ์ฝ”์ฝ”์Šค๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ธ ํƒ“์œผ๋กœ ๋ณด์ธ๋‹ค. ๋‹ค๋งŒ ๊ฒฝ์Ÿ์—์„œ ๋ฐ€๋ ธ๋‹ค๊ณค ํ•ด๋„ ํ˜„์žฌ๋„ ๋ฉ”์ด์ € ๊ฒŒ์ž„์‚ฌ๋“ค์—์„œ ํ•œ๋‘ ๊ฐœ ์ •๋„์˜ ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ์ „ํžˆ ์ฝ”์ฝ”์Šค๋กœ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ณ , ํ˜„์—…์—์„œ๋„ ์™„์ „ํžˆ ๋ฐ€๋ ค๋‚œ ์ƒํ™ฉ์€ ์•„๋‹ˆ๋‹ค. ์–ธ๋ฆฌ์–ผ ยท ์œ ๋‹ˆํ‹ฐ ๋‘ ์—”์ง„๋ณด๋‹ค๋Š” ํ›จ์”ฌ ์ ์ง€๋งŒ, ์ฒด๊ฐ์ƒ 3์œ„๊ถŒ์„ ์œ ์ง€ํ•˜๊ณ ๋Š” ์žˆ๋‹ค. ์ด๋Š” C++์— ์ต์ˆ™ํ•œ ์ค‘๊ฒฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์˜ ๊ฒฝ์šฐ ๊ธฐ์กด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋น„๊ต์  ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”์ฝ”์Šค๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋Š”๊ฒƒ์ด ์ฐจ๋ผ๋ฆฌ ๋” ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

3.4. Cocos2dx 3.0[ํŽธ์ง‘]

๊ณต์‹ ํŠธ์œ„ํ„ฐ์—์„œ 2020๋…„ 10์›” 15์ผ, Cocos2dx 3.0 ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๊ฒ ๋‹ค๊ณ  ๋ฐํ˜”๋‹ค.

3.5. ๊ด€๋ จ ์ปค๋ฎค๋‹ˆํ‹ฐ[ํŽธ์ง‘]

  • Cocos2D-X ์‚ฌ์šฉ์ž ๋ชจ์ž„ - ๊ตญ๋‚ด Cocos2d-x ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฐ€์šด๋ฐ์—์„  ๊ฐ€์žฅ ํฌ๊ณ  ๋งŽ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค.
[1] PC Platform ์—์„œ๋Š” 3.2๋ฒ„์ ผ๋ถ€ํ„ฐ ์ง€์›๋˜๋Š” CocosGui์˜ VideoPlayer๊ฐ€ ์ „ํ˜€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋„๋ก ๋˜์–ด์žˆ์œผ๋ฉฐ, SimpleAudioEngine์˜ ๊ฒฝ์šฐ ๋ณผ๋ฅจ ์กฐ์ ˆ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํ•˜๋‚˜๋„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค๋งŒ ์ด๋Š” Cocos2d-x์˜ ์ง€์†์ ์ธ ์„ฑ์žฅ์— ํž˜์ž…์–ด ๋ช‡ ๋…„ ์‚ฌ์ด์— ๊ธ‰๊ฒฉํžˆ ์ข‹์•„์ง€๊ธด ํ–ˆ๋‹ค.
[2] ๊ฐœ์กฐ๋œ ๋“œ๋นŒSDK๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
[3] ์œ ๋‚˜ ์—”์ง„์œผ๋กœ ์ž์ฒด ๊ฐœ์กฐ