์กํฐ๋ ์ฅ๋ฉด ๋
ธ๋์
๋๋ค. ๋
ธ๋๋ OS์ ํด๋์ ๊ฐ์์ผ ํฉ๋๋ค. ํด๋๋ ๋ค๋ฅธ ํด๋๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ ์์ ํด๋์ ํฌํจ๋ ์ ์์ต๋๋ค. libgdx์์ Actor๋ OS์ ํ์ผ๊ณผ ๊ฐ์ต๋๋ค. ํ์ผ์ Group
(ํด๋)์ ๋ฐฐ์นํ ์ ์์ง๋ง ์์ฒด์ ๋ค๋ฅธ Actor
(ํ์ผ)์ ํฌํจํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๊ฐ์ฒด ์ฃผ์์ ๊ฐ์ฒด์ ๊ถค๋ ํ์ ์ ๋ง๋๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์์ต๋๋ค(์ถ๊ฐ ์ํ ๋ฐ ๋ํผ ๊ฐ์ฒด ๋๋ ํ๋์ฝ๋ฉ๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ). ๋๋ Camera
๋ฅผ Actor
์ ํ ๋นํ์ฌ ์์น๋ฅผ ๋๊ธฐํ ์ํ๋ก ์ ์งํฉ๋๋ค(์ฌ๊ธฐ์ ์ค๋ช
๋ ๋ฌธ์ ์ค ํ๋ #5409).
1.9.8
๋ค๋ฅธ ๊ฒ์ ์์ง์์ ์ ์ฌํ ๋์์ธ์ ๋ณธ ์ ์ด ์์ต๋๋ค(cocos2dx, unity, UE4 ๋ชจ๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ฐ์ฒด๋ฅผ ์ค์ฒฉํ ์ ์๊ฒ ํด์ค๋๋ค).
Actor๋ฅผ ์ถ์ ํ์ผ๋ก, Group์ ํด๋๋ก ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ทธ๋ฃน์ ๋ค๋ฅธ ๊ทธ๋ฃน ๋ฑ์ ํฌํจํ ์ ์์ต๋๋ค. ์กํฐ๋ ํ์ผ(์: ์ด๋ฏธ์ง) ๋๋ ํด๋(๊ทธ๋ฃน)์ผ ์ ์์ผ๋ฏ๋ก ์กํฐ๋ฅผ ํฌํจํ ํ์๊ฐ ์์ต๋๋ค.
์ด ๋์์ธ์ ๋์๊ฒ ์๋ฒฝํ๊ฒ ๋ค๋ฆฝ๋๋ค.
@mgsx-dev ์ข์์, ์์ํด๋ณด์ธ์. ๋๋ ๋ค๋ฆฌ, ํ, ๋ชธ ๋ฑ์ ์ฌ๋ฌ ์คํ๋ผ์ดํธ์์ ํฉ์ฑ ์บ๋ฆญํฐ๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ์ด์ค ์์ ์ ๋ง๋ค๊ณ , ๊ทธ๋ค์ ์ํ ์กํฐ์ ๊ทธ๋ฃน์ ๋ง๋ค๊ณ , ๋ชจ๋ ์กํฐ๋ฅผ ๊ทธ๋ฃน์ ์ฐ๊ฒฐํ๊ณ ๋ชจ๋ ๊ทธ๋ฃน์ ๋ค๋ฅธ ๊ทธ๋ฃน์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฃน์๋ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ ๋ฐํ๋ ์กํฐ(์ผ๋ถ ์ ์ธ)์ ๋์ผํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ๊ทธ๋ฃน์ ์ญ์ ํ๊ณ ์กํฐ๋ฅผ ์ค์ฒฉํ ์ ์๊ฒ ํ๋ฉด ์ถ์ด ๋ ์ฌ์์ง ์ ์์ต๋๋ค. ์์ด๋ฅผ ๋ณ๋ ์ด๋ฏธ์ง๊ฐ ๋ญ ์ด๋์? ๋ถ๋ชจ ์ด๋ฏธ์ง ์์ ์ด๋ฏธ์ง ์ผ๋ฟ์ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฑฑ์ ๋๋ค๋ฉด ์บ๋ฆญํฐ ๋ถ๋ถ์ scene2d
์กํฐ๋ฅผ ์ ํ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๊ธฐ์๋ ๋๋ฌด ๋ฌด๊ฑฐ์ฐ๋ฉฐ ๋์ ์ธ๋ถ์ฑ ์ฉ๋๋ก ์ฌ์ฉ๋์ง ์์์ต๋๋ค.
๋ฐฉ๊ธ ๋น ๋ฅธ ๊ณ์ฐ์ ์ํํ์ต๋๋ค. ๊ฐ Actor
๋ ์ต์ ~11๊ฐ์ ์ถ๊ฐ ๊ฐ์ฒด๋ฅผ ํ ๋นํ๊ณ Group
๋ ~8๊ฐ๋ฅผ ๋ ์ถ๊ฐํฉ๋๋ค. ์ด๋ค์ ๋ณํฉํ๋ฉด ๋ชจ๋ Actor
์ ๋ํ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํฉ๋๋ค. ์๋ง ์๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ถ๋ถ์ ์กํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฆฌํ ๋
ธ๋์ด๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ ๋ก ์ค์ด๋ค์ง ์๊ณ ์ฌ๋ผ๊ฐ ๊ฒ์
๋๋ค!
๋งํ ๊ฒ๋ ์์ด Group
์์ ๋ณํ์ ์ฌ์ฉํ๋ ค๊ณ ํ๊ณ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฌ๋ฉด ๋ ๋๋ง ์ฑ๋ฅ์ด ์ ํ๋ฉ๋๋ค( Group
์ ๊ธฐ๋ณธ draw
๊ตฌํ์ ๊ฐ์ ํ๊ณ SpriteBatch
), ์ด๋ฌํ ๋ณํ๋ ๊ฐ ๋ฌด์น๋ถ๋ ์ถ๊ฐ Batch.flush()
-> ๋ฌด์น๋ถ ํธ์ถ์ ์ ๋ฐํ๊ธฐ ๋๋ฌธ์
๋๋ค.
scene2d
๋ ๋จ์ํ ๊ทธ๋ฌํ ์ฉ๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค.
๋ชจ๋ ์กํฐ๊ฐ ๊ทธ๋ฃน์ธ ๊ฒฝ์ฐ scene2d๋ฅผ ๊ตฌํํ ์ ์์์ง๋ง Darkyenus๊ฐ ์ธ๊ธํ ๊ฒ์ฒ๋ผ _๋ชจ๋ _ ์ฅ๋ฉด ๊ทธ๋ํ ๋ ธ๋๊ฐ ๋ ๋ฌด๊ฑฐ์์ง๋๋ค. ๊ทธ๋ฃน์๋ ์์์ด ์๊ณ ์กํฐ์๋ ์๋ ๋ณํ ํ๋ ฌ์ด ์์ต๋๋ค.
๋๋ ๋ค๋ฆฌ, ํ, ๋ชธ ๋ฑ์ ์ฌ๋ฌ ์คํ๋ผ์ดํธ์์ ํฉ์ฑ ์บ๋ฆญํฐ๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ์ด์ค ์์ ์ ๋ง๋ค๊ณ ๋ฐฐ์ฐ์ ๊ทธ๋ฃน์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
ํจ์จ์ฑ์ ๊ฑฑ์ ํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ฃน๊ณผ ์ด๋ฏธ์ง๋ง ์ฌ์ฉํ ์ด์ ๊ฐ ์์ต๋๋ค. ๋น์ ์ ๋น์ ์ ์ ์ฒด ๋ถ์์ ๊ทธ๋ฃน์ ์ฌ์ฉํ๊ณ Group#draw์์ ํ์ํ ๊ฒ์ ๊ทธ๋ฆด ์ ์์ต๋๋ค. ๋ชจ๋ ๊ณณ์์ ๊ทธ๋ฃน์ ์ฌ์ฉํ๋ ค๋ฉด ํ ์ ์์ต๋๋ค. ๋ณ๋์ ๋ฐฐ์ฐ์ ๊ทธ๋ฃน์ด ๋ ์ธ๊ณ์ ์ฅ์ ์ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค.
scene2d๋ ๋จ์ํ ๊ทธ๋ฐ ์ฉ๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค.
๋๋ถ๋ถ ๋์ํ๊ณ ์ค์ผ๋ ํ ์ ๋๋ฉ์ด์ ์ ๊ฒฝ์ฐ (๋ฌผ๋ก ) Spine ์ ์ฌ์ฉํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ, CPU ๋๋ GPU ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ scene2d๋ก ๋ง์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ ์ Spine์ 5291๊ฐ์ ๋น๊ทธ๋ฃน ์กํฐ์ 3713๊ฐ์ ๊ทธ๋ฃน์ ์์ฑํฉ๋๋ค. ๋ฐ์คํฌํฑ ์ฑ์ด์ง๋ง ~9k ๋ฐฐ์ฐ์ ๊ทธ๋ฃน์ ์์ ํ ๊ด์ฐฎ์ต๋๋ค. ๋ฐฐ๊ฒฝ๊ณผ ํด๋ฆฌํ์ ์ฌ์ฉํ๋ ๋ช ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ์ธํด ์ ์ฒด UI๋ฅผ ๋ ๋๋งํ๋ ๋ฐ 13๋ฒ์ ์ผ๊ด ํ๋ฌ์๋ง ๊ฑธ๋ฆฝ๋๋ค. ๋ณํ์ด ํ์ฑํ๋ ๊ทธ๋ฃน์ด ๋ง์ ๊ฒฝ์ฐ CpuSpriteBatch๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๊ด ํ๋ฌ์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Actor๋ฅผ ์ถ์ ํ์ผ๋ก, Group์ ํด๋๋ก ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ทธ๋ฃน์ ๋ค๋ฅธ ๊ทธ๋ฃน ๋ฑ์ ํฌํจํ ์ ์์ต๋๋ค. ์กํฐ๋ ํ์ผ(์: ์ด๋ฏธ์ง) ๋๋ ํด๋(๊ทธ๋ฃน)์ผ ์ ์์ผ๋ฏ๋ก ์กํฐ๋ฅผ ํฌํจํ ํ์๊ฐ ์์ต๋๋ค.
์ด ๋์์ธ์ ๋์๊ฒ ์๋ฒฝํ๊ฒ ๋ค๋ฆฝ๋๋ค.