FAQ - kuimoani/defold GitHub Wiki
FAQ
General questions
Defold๋ ์ ๋ง ๋ฌด๋ฃ์ ๋๊น?
๋ค, Defold ์์ง๊ณผ ์๋ํฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์์ ๋ฌด๋ฃ์ ๋๋ค. ์จ๊ฒจ์ง ๋น์ฉ, ์์๋ฃ, ๋ก์ดํฐ๋ ์๋ ์์ ๋ฌด๋ฃ์ ๋๋ค. ๋ํ ๋ฒ ํ๊ธฐ๊ฐ ์ดํ์๋ ๋น์ฉ์ ์ฒญ๊ตฌํ์ง ์์ ๊ฒ์ ๋๋ค.
์ King์ Defold๋ฅผ ๊ณต๊ฐํ๋์?
์์ ์ฉ ๊ฒ์ ํ์ฌ๊ฐ ํต์ฌ ๊ธฐ์ ์ ๊ณต๊ฐํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ด์ง ์์ง๋ง ๋ ๋ง์ ์ฌ๋์ด Defold๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ง ๋ฐ์ ์ ๋ ๋์์ด ๋ฉ๋๋ค. Defold๋ฅผ ์ปค๋ฎค๋ํฐ์ ๋ฆด๋ฆฌ์ฆ ํจ์ผ๋ก์จ ๋ชจ๋๊ฐ Defold๋ฅผ ๋ ๋ซ๊ฒ ๋ง๋๋๋ฐ ํํ ๋ฆฌ์ผ์ ๋ง๋ค๊ณ , ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ณ , ๋ฌธ์๋ฅผ ๊ฐ์ ํ๋ ๋ฑ์ ๋์์ ์ฃผ๊ณ ์์ต๋๋ค. ๋ํ ๋ด๋ถ์ ์ผ๋ก ํน๋ท์ปด์ด Defold๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์์ง์ด ์ข์์ง ์๋ก ๋ด๋ถ ๊ฐ๋ฐ์๋ค๋ ๋์ฑ ํ๋ณตํด์ง๊ฒ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ฅญํ ๊ธฐ์ ์ด ๊ณง ํ๋ฅญํ ์ฌ๋ฅ์ ์ด๋์ด ๋ธ๋ค๊ณ ๋ฏฟ๊ณ ์์ต๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ์ฐ๋ฆฌ๋ ํน๋ท์ปด ๋ฟ๋ง์๋๋ผ ๋ชจ๋ ๊ฒ์ ๊ฐ๋ฐ์๋ค์๊ฒ ๋ ๋์ ๊ฒ์์ ์ด๋์ด ๋ผ ์ ์๋ค๊ณ ๋ฏฟ๊ณ ์์ต๋๋ค.
ํ๋ฅญํ ๊ฒ์์ ๋ง๋ค๊ณ ์ถํํ๋ฉฐ ์ฌ๋๋ค์ด ๋๋ผ์ด ๊ฒ์์ ๋ง๋๋ ๊ฒ, ์ด๊ฒ ์ ๋ถ์ด๋ฉฐ ์ฐ๋ฆฌ๊ฐ ์งํฅํ๋ ๋ฐ์ ๋๋ค.
Defold๋ฅผ ์ผ๋ง๋ ์ค๋ ์ง์ํ ์์ ์ธ๊ฐ์?
์ฐ๋ฆฌ๋ Defold์ ๊น์ด ํ์ ํ๊ณ ์์ต๋๋ค. ํน์ ๊ฒ์ ์คํ๋์ค๋ ์ ์ธ๊ณ์์ ์ ๋ ๋์ ๊ฒ์์ ๋ง๋ค๊ณ ์์ต๋๋ค. ์ด๋ ์ฝ๊ฒ ์ฌ๋ผ์ง์ง ์์ต๋๋ค.
์ ๋ฌธ์ ์ธ ๊ฐ๋ฐ์ ์ํด Defold๋ฅผ ์ ๋ขฐํ ์ ์์๊น์?
๋ค, ์ฐ๋ฆฌ๋ "์ง์ ํด ๋ด์ผ ์๋ค(eatting your own dogfood)"๋ผ๋ ์๋ด์ ๋ฏฟ๊ณ ์์ผ๋ฉฐ, ๊ฑฐ์ ๋ชจ๋ ์๋ก์ด ๊ฒ์ IP๋ฅผ ํน๋ท์ปด์์ ์ฌ์ฉํ๋๋ก ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.
์ Defold ์๋ฒ์ ๋ด ๊ฒ์์ ์ ์ฅํด์ผ ํ๋์?
Defold๋ ์๋๋ถํฐ ํ์ ๋๊ตฌ์ ์ ์ฅ์๋ฅผ ํฌํจํ ์์ ํ ์๋น์ค๋ฅผ ์ํด ์ค๊ณ ๋์์ต๋๋ค. ์ฐ๋ฆฌ์ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ด์ ์ด ์์ผ๋ฉฐ ๋์ฌ๋ณด๋๋ฅผ ํตํด ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ์ ์ ๋ค์๊ฒ ์ฌ๋ฌ๊ฐ์ง ์ง์์ ์ง์ํ ์์ ์ ๋๋ค. ํ์ง๋ง ์ผ๋ถ ์ฌ์ฉ์๋ ๋ค๋ฅธ ์คํ ๋ฆฌ์ง ์ ๊ณต์๋ฅผ ์ํ๊ณ ์์ผ๋ฏ๋ก ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ์์ ์ค์ ๋๋ค.
ํด๋น ๊ธฐ์ ์ ์ต์ํ๋ค๋ฉด HOWTO on our forum๋ฅผ ์ฐธ๊ณ ํด์ ์ด๋ฅผ ์ฐํํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค.
Defold๋ ๋๊ฐ ๋ง๋๋์?
Defold๋ Ragnar Svensson ๊ณผ Christian Murray์ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค. ์ด๋ค์ 2009๋ ์ ์์ง, ์๋ํฐ, ์๋ฒ ๊ฐ๋ฐ์ ์์ํ์์ผ๋ฉฐ King์ Defold์ 2013๋ ์ ํํธ๋์ฝ์ ๋งบ๊ณ 2014๋ ์ ์ธ์ํ์์ต๋๋ค. ์ ์ฒด ์คํ ๋ฆฌ๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
Defold๋ ์ด๋ค ํ๋ซํผ์์ ์คํ๋๋์?
์๋ํฐ, ๋๊ตฌ, ์์ง ๋ฐํ์์ ์๋ ํ๋ซํผ๋ค์ ์ง์ํฉ๋๋ค.
| macOS/OS X 10.7 Lion | Editor and runtime |
| Windows Vista | Editor and runtime |
| Linux (32 bit and 64 bit) | Editor and runtime |
| iOS 5.1 | Runtime |
| Android 2.3 (API level 9) | Runtime |
| HTML5 | Runtime |
Defold๋ ์ด๋ค ๋ ๋๋ง API๋ฅผ ์ฌ์ฉํ๋์?
Defold๋ ๋ชจ๋ ํ๋ซํผ์์ ์ง์๋๋ ๊ทธ๋ํฝ ๋ ๋๋ง์ ์ํด OpenGL ES 2.0๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Defold๋ก ๊ฒ์์ ๊ฐ๋ฐํ ์ ์๋ ๋์ ํ๋ซํผ(target platform)์ ์ด๋ค๊ฒ ์์๊น์?
ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก Windows, Linux, MacOS/OSX ๋ฟ๋ง ์๋๋ผ iOS, Android, HTML5 ๋ก๋ ๊ฒ์ํ ์ ์์ผ๋ฉฐ ๊ฐ์ ์ฝ๋๋ก 6๊ฐ์ ํ๋ซํผ์ ์ง์ํ ์ ์์ต๋๋ค.
Defold์์ 3D ๊ฒ์๋ ๊ฐ๋ฐํ ์ ์๋์?
๋ค! ์ด ์์ง์ 3D ๊ธฐ๋ฐ ์์ง์ ๋๋ค. ํ์ง๋ง ๋๊ตฌ๋ค์ 2D์ ๋ง์ถฐ์ ธ ์์ผ๋ฏ๋ก ๋ ์์ด ๋ง์ด ๊ฐ๊ธฐ๋ ํฉ๋๋ค. ๋ ๋์ 3D ์ง์ ๊ธฐ๋ฅ์ ์ํด ๊ณํ์ค ์ ๋๋ค.
Defold์์๋ ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์จ์ผ ํ๋์?
Defold ํ๋ก์ ํธ์ ๋ชจ๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฒ์ ๋ก์ง์ ์คํฌ๋ฆฝํธ๋ก ์ ์ด๋ฉ๋๋ค. Defold ์์ง์ ์คํฌ๋ฆฝํ ์ ์ํด Lua ์ธ์ด๋ฅผ ๋ด์ฅํ๊ณ ์์ต๋๋ค. Lua๋ ๊ฐ๋ฒผ์ด ๋์ ์ธ์ด๋ก์ ์์ฃผ ๋น ๋ฅด๊ณ ๊ฐ๋ ฅํฉ๋๋ค. technology summary๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
์ปค์คํ ๋ฉํฐ๋ฆฌ์ผ์ ๋น๋ํ ๋๋, OpenGL ES SL ์์ด๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒํ ์ค(vertex)์ ํ๋ ๊ทธ๋จผํธ(fragment) ์์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
๋ด๊ฐ ์คํ์ค์ธ ๋ฒ์ ์ ์์๋ด๋ ๋ฐฉ๋ฒ์ด ์๋์?
๋ค, ๋ฉ๋ด์์ "About Defold Editor"๋ฅผ ์ ํํ๋ฉด ๋ฉ๋๋ค. ํ์ ์ฐฝ์ผ๋ก Defold ๋ฒ ํ ๋ฒ์ ๊ณผ ๋ ์ค์ํ ํน์ ๋ฆด๋ฆฌ์ฆ SHA1๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋ฐํ์ ๋ฒ์ ์ ์์๋ด๋ ค๋ฉด sys.get_engine_info()๋ฅผ ์ฌ์ฉํ์ธ์.
๋ค์ด๋ก๋ ๊ฐ๋ฅํ ์ต์ ๋ฒ ํ ๋ฒ์ ์ http://d.defold.com/beta ์์ http://d.defold.com/beta/info.json (์์ ํ ๋ฒ์ ์ http://d.defold.com/stable/info.json ์ ์์ต๋๋ค.)๋ฅผ ์ด์ด์ ํ์ธํ ์ ์์ต๋๋ค.
Defold ๋ฒ ํ ๋ฒ์ ์ ์๋์ผ๋ก ์ ๋ฐ์ดํธ ๋๋์?
๋ค, Defold ๋ฒ ํ๋ Defold ์์ ํ(stable) ๋ฒ์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์คํ์ ์ ๋ฐ์ดํธ๋ฅผ ์ฒดํฌํฉ๋๋ค.
์ธ๋ถ Git ๋๊ตฌ๋ฅผ ์ฌ์ฉํด๋ ๋๋์?
๋ค ๊ฐ๋ฅํฉ๋๋ค:
- ๋จผ์ Open Project ๊ณผ New Branch ๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
- "Defold/branches/[project_id]/[user_id]/[name_of_branch]" ์ ์๋ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋น์ ์ Git ํด๋ผ์ด์ธํธ์ ์ถ๊ฐํฉ๋๋ค.
- Defold ์ ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ๋น๋ฐ๋ฒํธ๋ Defold ๋์ฌ๋ณด๋์ "Settings"์์ "Access token" ๊ฐ(๊ธด 16์ง์๋ก ๋ ๊ฐ)์ ์ฌ์ฉํฉ๋๋ค.
- ์ด์ ์ํ๋ ๋๋ก add, commit, revert, branch, merge ์์ ์ ํ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ Defold์ ์ฆ์ ๋ฐ์๋ฉ๋๋ค. Defold๋ ์๋ํฐ์์ ์์ฑํ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ์๋์ ์ผ๋ก stage์ ์ฌ๋ฆฝ๋๋ค.
๋ด ๊ฒ์์ Appstore์ ๊ฒ์ํ๋ ค๊ณ ํฉ๋๋ค. IDFA์ ์ด๋ป๊ฒ ๋์ํด์ผ ํ ๊น์?
Defold๋ IDFA(๊ด๊ณ ์๋ณ์) ์ง์์ ๋ด์ฅํ๊ณ ์์ผ๋ฉฐ sys.get_sys_info() ๋ฅผ ์ฌ์ฉํด ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ ์ถํ๋ ค๋ฉด, Apple์ IDFA๋ฅผ ์ํ 3๊ฐ์ง ์ ํจํ ์ฌ๋ก๋ฅผ ์ฒดํฌ๋ฐ์ค๋ก ์ ๊ณตํฉ๋๋ค.
- Serve ads within the app (์ฑ์ผ๋ก ๊ด๊ณ ์ ์ก)
- Install attribution from ads (์ ์กํ ๊ด๊ณ ๊ฐ ์ด ์ฑ ์ค์น์ ๊ธฐ์ฌํจ)
- User action attribution from ads (์ ์กํ ๊ด๊ณ ๊ฐ ์ด ์ฑ์์ ์ํํ ์ ์ ์ก์ ์ ๊ธฐ์ฌํจ)
์ฒซ ๋ฒ์งธ ์ต์ ์ ์ ํํ๋ ๊ฒฝ์ฐ, ์ฑ ๋ฆฌ๋ทฐ์ด๊ฐ ์ฑ์ ํ์๋ ๊ด๊ณ ๋ฅผ ๊ฒ์ฆํฉ๋๋ค. ๋ง์ฝ ๊ฒ์์ ๊ด๊ณ ๊ฐ ํ์๋์ง ์์ผ๋ฉด ๊ฒ์์ด ๋ฆฌ์ ๋ ์๋ ์์ต๋๋ค. Defold์์ id๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๋ก์ค ํ๋ก๋ชจ์ ์ ์ง์ํ๋ ค๋ฉด ๋๋ฒ์งธ ์ต์ ์ ์ ํํด์ผ ํฉ๋๋ค.
Errors using Defold
์ ์๋ํฐ๊ฐ ๋ด ํ๋ก์ ํธ๋ฅผ ์ด ์ ์์ฃ ?
Defold ์ดํ๋ฆฌ์ผ์ด์ ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ด ์๋์ง ํ์ธํด ๋ณด์ธ์. ์๋ฅผ ๋ค์ด OSX์์ "Applications" ํด๋์ ์๋ํฐ์ OSX ๋ฒ์ ์ ํฌํจํ๋ "Defold-macosx" ํด๋์ ์ค์นํ์ ๊ฒฝ์ฐ์๋ ๊ด์ฐฎ์ต๋๋ค. ํ์ง๋ง ํด๋๋ช ์ "Defold macosx"๋ก ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ์คํ๋์ง ์์ต๋๋ค. Windows์์๋ Defold๊ฐ "C:\Program Files" ์๋์ ์์ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ Eclipse ํ๋ ์์ํฌ์ ๋ฒ๊ทธ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋๋ค.
๊ฒ์์ ์์ํ ์๋ ์๊ณ ๋น๋ ์๋ฌ๋ ์์ต๋๋ค. ๋ญ๊ฐ ์๋ชป๋๊ฑฐ์ฃ ?
์ด์ ์ ์์ ํ ๋น๋์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ๋๋ฌผ๊ฒ ๋น๋ ํ๋ก์ธ์ค๊ฐ ๋ฆฌ๋น๋์ ์คํจํ ์๊ฐ ์์ต๋๋ค. ๋ฆฌ๋น๋๋ฅผ ๊ฐ์ ๋ก ์ฌ์์ ํ๋ ค๋ฉด Project > Rebuild And Launch ๋ฉ๋ด๋ฅผ ์ ํํ๋ฉด ๋ฉ๋๋ค.
ํฌ๋กฌ์์ ์คํ๋์ ํ๋ฉด์์ ๋ด HTML5 ์ฑ์ด ๋ฉ์ถ๋๋ฐ ์ ๊ทธ๋ฐ๊ฐ์?
์ด๋ค ๊ฒฝ์ฐ์๋ ํ์ผ ์์คํ ์์ ๋ก์ปฌ๋ก ๋ธ๋ผ์ฐ์ ์์ ๊ฒ์์ ์คํํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์๋ํฐ์์ ์คํํ๋ฉด ๋ก์ปฌ ์น์๋ฒ๋ก ๊ฒ์์ ์ ๊ณตํ๋ฏ๋ก ๊ฐ๋ฅํฉ๋๋ค. ์๋๋ฉด ํ์ด์ฌ์ผ๋ก SimpleHTTPServer ๊ฐ์ ๊ฐ๋จํ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
$ python -m SimpleHTTPServer [port]
macOS Sierra problems
macOS Sierra์์ ์คํํ๋ฉด ์๋ํฐ๊ฐ ํฌ๋์ฌ๋ฉ๋๋ค.
๋ฒ๋ค ์ค์น๋ Sierra์ ์ ๋ณด์ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ ์ ์์ง๋ง ์ฐ๋ฆฌ๋ MacOS์์ ๋ฒ๋ค์ ์ ๋ฐ์ดํธ์ค์ด๋ฉฐ ๊ณง ๋ฆด๋ฆฌ์ฆํ ๊ณํ์ ๋๋ค. ๊ทธ๋์ ์์๋ก ํฐ๋ฏธ๋์์ ์๋ํฐ๋ฅผ ์์ํด์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
$ cd /Applications/Defold-macosx
$ open Defold.app/Contents/MacOS/Defold
Defold๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๊ณ Sierra๋ก ์ ๊ทธ๋ ์ด๋ ํ๋ค๋ฉด ์ ๋์ํ ๊ฒ์ ๋๋ค. ์ด ๋ฌธ์ ๋ Defold๋ฅผ ์๋ก ์ค์นํ ๊ฒฝ์ฐ์ ๊ด๋ จ์ด ์์ต๋๋ค.
Linux problems
Linux 64 ๋นํธ์์ ์คํ์ค์ด๋ฏ๋ก ์๋ํฐ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
๋์ฌ๋ณด๋์์ ์๋ํฐ์ 64๋นํธ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ๋์ง ํ์ธํ๊ณ ์ ๊ณต๋ ์ ์คํฌ๋ฆฝํธ๋ก ์๋ํฐ๋ฅผ ์คํํด ๋ณด์ธ์.
$ ./Defold-linux.sh
"Dofold"๋ฅผ ์ง์ ์คํํ์ง ๋ง์ญ์์ค.
Linux ์์ ์คํ์ค์ธ๋ฐ ๋ด ํ๋ก์ ํธ๋ฅผ ์ด๋ ค๊ณ ํด๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค.
๋ง์ฝ 32๋นํธ Linux์์ ์คํ์ค์ธ ๊ฒฝ์ฐ, ํธํ ๊ฐ๋ฅํ libwebkitgtk ์ด ์ค์น๋์ง ์์์ ์๋ ์์ต๋๋ค. libwebkitgtk version 1.0-0๋ฅผ ์ค์นํ๊ณ ์๋ํฐ๋ฅผ ์ฌ์์ ํด๋ณด์ธ์.
Linux์์ ๋ด ํ๋ก์ ํธ์ ์ ๋ธ๋์น(branch)๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
libssl 0.9.8์ด ์ค์น๋์ด ์๋์ง ํ์ธํด ๋ณด์ธ์. ๋ช๋ช ๋ฐฐํฌํ์ ์ด ์ดํ์ ๋ฒ์ ์ ์ ๊ณตํ์ง๋ง Defold๋ 0.9.8 ๋ฒ์ ์ ํ์๋ก ํฉ๋๋ค.
Linux์์ ๋ด ๊ฒ์์ ์คํํ๋ ค๊ณ ํ๋ฉด, ์์ง์ด ์์๋์ง ์์ต๋๋ค.
Check the console output in the editor. If you get the following message: ์๋ํฐ์ ์ฝ์ ์ถ๋ ฅ ์ฐฝ(console output)์ ํ์ธํฉ๋๋ค. ๋ง์ฝ ์๋ ๋ฉ์ธ์ง๊ฐ ๋ณด์ด๋ฉด:
/home/myname/Desktop/Defold/plugins/com.dynamo.cr.engine_1.0.0.201502231306/engine/linux/dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
libopenal1์ ์ค์นํด์ผ ํฉ๋๋ค.
Working with game content
Defold๋ ํ๋ฆฌํฉ(prefabs)๋ฅผ ์ง์ํ๋์?
๋ค ์ง์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ปฌ๋ ์ (collections)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณตํฉ์ ์ธ ๊ฒ์ ์ค๋ธ์ ํธ ๊ณ์ธต์ ์์ฑํ๊ณ ์๋ํฐ์์์ ๋๋ ๋ฐํ์์์ ์ธ์คํด์ค๋ฅผ ์์ฑ(์ปฌ๋ ์ ์คํฐ์ ํตํด์)ํ์ฌ ํน์ ๋น๋ฉ ๋ธ๋ก(building blocks)์ผ๋ก ์ ์ฅํ ์ ์์ต๋๋ค. GUI ๋ ธ๋๋ GUI ํ ํ๋ฆฟ ๊ธฐ๋ฅ์ผ๋ก ์ง์ํฉ๋๋ค.
๊ฒ์ ์ค๋ธ์ ํธ์ ์์(child)์ผ๋ก ๋ค๋ฅธ ๊ฒ์ ์ค๋ธ์ ํธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์ฃ ?
๊ฒ์ ์ค๋ธ์ ํธ ํ์ผ์์ ์์ ์ค๋ธ์ ํธ๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํด์ ๊ทธ๋ฐ๊ฒ ๊ฐ์๋ฐ ์ด๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ถ๋ชจ-์์ ๊ณ์ธต์ ์๊ฒฉํ๊ฒ ์ฌ-๊ทธ๋ํ ๋ณํ ๊ณ์ธต(cene-graph transform hierarchy)์์ ๊ธฐ์ตํ๊ณ ์ดํดํด์ผ ํฉ๋๋ค. ์ฌ(์ปฌ๋ ์ )์ ๋ฐฐ์น๋์ง ์์(๋๋ ์คํฐ๋์ง ์์) ๊ฒ์ ์ค๋ธ์ ํธ๋ ์ฌ-๊ทธ๋ํ(scene-graph)์ ์ผ๋ถ๊ฐ ์๋๋ฏ๋ก ์ฌ-๊ทธ๋ํ ๊ณ์ธต์์๋ ์ผ๋ถ๊ฐ ๋ ์ ์์ต๋๋ค.
๊ฒ์ ์ค๋ธ์ ํธ์ ๋ชจ๋ ์์๋ค(children)์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋ธ๋ก๋์บ์คํธ ํ ์ ์๋ ์ด์ ๋ ๋ญ์ฃ ?
๋ถ๋ชจ-์์ ๊ด๊ณ๋ ์ฌ-๊ทธ๋ํ ๋ณํ ๊ด๊ณ(scene-graph transform relations) ์ด์ธ์ ๊ฒ์ ๋ํ๋ด์ง๋ ์์ผ๋ฉฐ ๊ฐ์ฒด์งํฅ์์์ ์งํฉ ๊ฐ๋ ์ผ๋ก ์๊ฐํด์๋ ์๋ฉ๋๋ค. ๋ง์ฝ ๊ฒ์ ๋ฐ์ดํฐ์ ์ค์ ์ ๋๊ณ ๊ฒ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ ๋ ์ต์์ ๋ณ๊ฒฝ(transform) ๋ฐฉ๋ฒ์ ์ฐพ์ผ๋ฉด ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฉ์ธ์ง๋ฅผ ๋งค๋ฒ ๋ง์ ์ค๋ธ์ ํธ๋ค์๊ฒ ๋ณด๋ผ ํ์๊ฐ ๊ฑฐ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ๊ณ์ธต ๊ตฌ์กฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ์ Lua์์ ์ฝ๊ฒ ๊ตฌ์ฑํ๊ณ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
์คํ๋ผ์ดํธ ๊ฐ์ฅ์๋ฆฌ์ ์๊ฐ์ ์ธ ์ด์ํ์์ด ๋ฐ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ด๋ ์ํ๋ผ์ค์์ ์ธ์ ํ ํฝ์ ์ ๊ฐ์ฅ์๋ฆฌ ํฝ์ ์ด ์คํ๋ผ์ดํธ์ ํ ๋น๋ ์ด๋ฏธ์ง๋ก ํ๋ฌ ๋ด๋ฆฌ๋ "edge bleeding" ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์๊ฐ์ ์ด์ํ์์ ๋๋ค. ํด๊ฒฐ์ฑ ์ ๋์ผํ ํฝ์ ์ ํ๋ ฌ(row and column)์ ์ด์ฉํ์ฌ ์ํ๋ผ์ค ์ด๋ฏธ์ง์ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ํจ๋ฉ์ํค๋ ๊ฒ์ ๋๋ค. ๋คํํ๋ ์ด ๋ฌธ์ ๋ Defold์ ์ํ๋ผ์ค ์๋ํฐ์์ ์๋์ผ๋ก ์์ ํ ์๋ ์์ต๋๋ค. ์ํ๋ผ์ค๋ฅผ ์ด์ด Extrude Borders ๊ฐ์ 1๋ก ์ค์ ํฉ๋๋ค.
์คํ๋ผ์ดํธ ์์กฐ(tint)๋ฅผ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์๋์? ์๋๋ฉด ์์ด๋๋ฅผ ์์ฑํด์ผ ํ ๊น์?
๋ค ๊ฐ๋ฅํฉ๋๋ค. ๋ด์ฅ๋ ์คํ๋ผ์ดํธ ์์ด๋๋ "tint" ์์๋ฅผ ์ ์ํ๊ณ ์์ต๋๋ค.
sprite.set_constant("#sprite", "tint", vmath.vector4(r, g, b, a))
์คํ๋ผ์ดํธ์ z์ขํ๋ฅผ 100์ผ๋ก ์ค์ ํ๋ฉด ๋ ๋๋ง๋์ง ์์ต๋๋ค. ์์ฃ ?
๊ฒ์์ค๋ธ์ ํธ์ Z-position์ ๋ ๋๋ง ์์๋ฅผ ์ ์ดํฉ๋๋ค. ๋ฎ์ ๊ฐ์ ๋์ ๊ฐ ๋ณด๋ค ๋จผ์ ๊ทธ๋ ค์ง๋๋ค. ๊ธฐ๋ณธ ๋ ๋ ์คํฌ๋ฆฝํธ์์๋ -1์์ 1 ์ฌ์ด ๋ฒ์ ๊น์ด์ ๊ฒ์์ค๋ธ์ ํธ๋ง ๊ทธ๋ ค์ง๊ณ ๊ทธ ์ด์์ด๋ ์ดํ๋ ๊ทธ๋ ค์ง์ง ์์ต๋๋ค. ๋ ๋๋ง ์คํฌ๋ฆฝํธ์ ๋ํด์๋ Rendering ๋ฌธ์๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค. GUI ๋ ธ๋์ Z ๊ฐ์ ๋ฌด์๋๋ฉฐ ๋ ๋๋ง ์์์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ๋์ ๋ ธ๋๋ค์ ์์ ๊ณ์ธต๊ตฌ์กฐ(child hierarchies) ๋๋ ๋ ์ด์ด์ ๋์ด๋ ์์์ ๋ฐ๋ผ ๋ ๋๋ง๋ฉ๋๋ค. gui ๋ ๋๋ง์ด๋ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ก์ฐ์ฝ์ ์ต์ ํ ํ๋ ๋ฐฉ๋ฒ์ GUI ๋ฌธ์๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
view projection Z-range๋ฅผ -100์์ 100 ์ฌ์ด ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ฉด ์ฑ๋ฅ์ ์ํฅ์ด ์๋์?
์๋์ค. ์ ๋ฐ๋(precision)๋ง ์ํฅ์ ์ค๋๋ค. z-buffer๋ ๋ก๊ทธ(logarithmic)์ด๋ฉฐ 0์์ ๋ฉ์ด์ง ์๋ก ๋ฎ์ ํด์๋, 0์ ๊ฐ๊น์ธ์๋ก z๊ฐ์ ์์ฃผ ๊ด์ฐฎ์ ํด์๋๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, 24๋นํธ ๋ฒํผ์ ๊ฒฝ์ฐ 10.0 ๊ณผ 10.000005๋ ๊ตฌ๋ณํ ์ ์์ง๋ง 10000๊ณผ 10005๋ ๊ตฌ๋ณํ ์ ์์ต๋๋ค.
์ต๊ธ(angle)๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด ์ผ๊ด์ฑ์ด ์๋๋ฐ, ์์ฃ ?
์ค์ ๋ก๋ ์ผ๊ด์ฑ์ด ์์ต๋๋ค. ์ต๊ธ(angle)์ ๊ฒ์ API์ ์๋ํฐ ๋ชจ๋ ๊ณณ์์ ๊ฐ๋(degree)๋ก ํ์๋ฉ๋๋ค. ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ผ๋์(radian)์ ์ฌ์ฉํฉ๋๋ค. ํ์ฌ ๊ด๋ก๋ก๋ radians/s๋ก ํํ๋๋ "angular_velocity" ๋ฌผ๋ฆฌ ํ๋กํผํฐ๊ฐ ์ค๋จ๋์๋๋ฐ, ์ด๋ ๋ฐ๋ ๊ฒ์ผ๋ก ์์๋๊ณ ์์ต๋๋ค.
์ปฌ๋ฌ๋ง ์ ํ์ง(ํ ์ค์ณ๊ฐ ์๋) GUI box-node๋ฅผ ์์ฑํ ๋๋ ์ด๋ป๊ฒ ๋ ๋๋ง ๋๋์?
์ด๊ฑด ๊ทธ๋ฅ ๋ฒํ ์ค ์ปฌ๋ฌ ๋ชจํ(vertex colored shape)์ผ ๋ฟ์ ๋๋ค. ์ฌ๊ธฐ์ ์ฌ์ ํ fill-rate ๋น์ฉ์ด ์์์ ๋ช ์ฌํ๊ธฐ ๋ฐ๋๋๋ค.
๋ง์ฝ ์ฆ์์ผ๋ก ์์ ์ ๋ณ๊ฒฝํ๋ฉด, ์์ง์์ ์๋์ผ๋ก ์ธ๋ก๋ ํ๋์?
๋ชจ๋ ๋ฆฌ์์ค๋ ๋ด๋ถ์ ์ผ๋ก ๋ ํผ๋ฐ์ค ์๊ฐ ๊ณ์ฐ(ref-counted)๋ฉ๋๋ค. ref-count๊ฐ 0์ด ๋๋ฉด ๋ฆฌ์์ค๊ฐ ํด์ (release)๋ฉ๋๋ค.
๊ฒ์ ์ค๋ธ์ ํธ์ ์ฒจ๋ถ๋ ์ค๋์ค ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ค๋์ค๋ฅผ ์ฌ์ํ ์ ์๋์?
๋ชจ๋ ๊ฒ์ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ ๋๋ค. ์ฌ๋ฌ ์ฌ์ด๋๋ฅผ ๊ฐ์ง ๋น ๊ฒ์์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค์ด ์ฌ์ด๋ ์ปจํธ๋กค๋ฌ ์ค๋ธ์ ํธ์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ ์ฌ์ด๋๋ฅผ ์ฌ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด ๋ฐฉ์์ interval ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ด๋๋ฅผ ์ฐจ๋จํ ์ ์๋ค๋ ์ด์ ์ด ์์ต๋๋ค.
๋ฐํ์์ ์ค๋์ค ์ปดํฌ๋ํธ์ ์ฐ๊ฒฐ๋ ์ค๋์ค ํ์ผ์ ๋ณ๊ฒฝํ๋๊ฒ์ด ๊ฐ๋ฅํ๊ฐ์?
๋ณดํต ๋ชจ๋ ๋ฆฌ์์ค๋ค์ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์์ ๋กญ๊ฒ ํ ์ ์๋ ๊ฒ์ ์ฅ์ ์ผ๋ก ์ ์ ์ ์ธ(statically declared)๋ฉ๋๋ค.
๋ฌผ๋ฆฌ ์ถฉ๋ ๋ชจํ(shape) ํ๋กํผํฐ์ ์ก์ธ์ค ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์๋์ค. ํ์ฌ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ฌ์์ ์ถฉ๋ ์ค๋ธ์ ํธ๋ฅผ ๋น ๋ฅด๊ฒ ๋ ๋๋งํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์? (Box2D์ debugdraw ์ฒ๋ผ)
๋ค, game.project์ physics.debug ํ๋๊ทธ๋ฅผ ์ค์ ํ์ธ์. (Project settings ๋ฌธ์ ์ฐธ๊ณ )
๋ง์ ์ ์ด(contacts)/์ถฉ๋(collisions)์ด ๋ฐ์ํ ๊ฒฝ์ฐ ์ฑ๋ฅ ๋น์ฉ์ ์ผ๋ง๋ ๋๋์?
Defold๋ Box2D๋ฅผ ์์ ํ ๋ฒ์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ Box2D์ ๊ฑฐ์ ๋น์ทํฉ๋๋ค. profiler ๋ฅผ ๋ถ๋ฌ์์ ์์ง์ด ๋ฌผ๋ฆฌ ์์ ์์ ์ฑ๋ฅ์ ์ผ๋ง๋ ์๋นํ๋์ง ๋ณผ ์ ์์ต๋๋ค. ๋ํ ์ด๋ค ์ข ๋ฅ์ ์ถฉ๋ ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ ์ง๋ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ์ ์ค๋ธ์ ํธ(Static Object)๋ ๊ฐ์ผ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Physics ๋ฌธ์๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
ParticleFx ์ปดํฌ๋ํธ๋ฅผ ๋ง์ด ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ด ์ผ๋ง๋ ๋๋์?
๋์ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๋์์ค์ด์ง ์์ ParticleFx์ ํผํฌ๋จผ์ค ์ํฅ์ด ์ ํ ์์ผ๋ฉฐ ๋์์ค์ธ ParticleFx ์ ์ฑ๋ฅ ์ํฅ์ ์ด ์ดํํธ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋์ง์ ๋ฐ๋ผ ํ๋กํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํด ํ๊ฐํด์ผ ํฉ๋๋ค. ParticleFx์ ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ์ ๊ฑฐ์ 140 ๋ฐ์ดํธ ์ ๋์ ๋๋ค. ๋๋ถ๋ถ์ ๋ค๋ฅธ ๊ฒ๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉ๋ชจ๋ฆฌ๋ game.project์ max_count๋ก ์ ์๋ ParticleFx์ ๊ฐ์ ๋งํผ ํ ๋น๋ฉ๋๋ค.
์ปฌ๋ ์ ํ๋ก์๋ฅผ ํตํด ๋ก๋๋ ์ปฌ๋ ์ ๋ด์์ ๊ฒ์ ์ค๋ธ์ ํธ๋ก ์ธํ(input)์ ๋ฐ์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
์ปฌ๋ ์ ์ด ๋ก๋๋ ๊ฐ ํ๋ก์๋ ์์ฒด์ ์ธ ์ธํ ์คํ์ด ์์ต๋๋ค. ์ธํ์ ๋ฉ์ธ ์ปฌ๋ ์ ์ ์ธํ ์คํ์์ ์ด ์ปฌ๋ ์ ์ ์ค๋ธ์ ํธ๋ก ํ๋ก์ ์ปดํฌ๋ํธ๋ฅผ ํตํด ๋ผ์ฐํ ๋ฉ๋๋ค. ์ฆ ๋ก๋๋ ์ปฌ๋ ์ ์ ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ ์ธํ ํฌ์ปค์ค๋ฅผ ํ๋ํ๋ ๊ฒ์ ์ถฉ๋ถํ์ง ์์ผ๋ฉฐ, ํ๋ก์ ์ปดํฌ๋ํธ๋ฅผ ๋ณด์ ํ ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ ์ธํ ํฌ์ปค์ค๋ฅผ ํ๋ํ ํ์๊ฐ ์์ต๋๋ค. ์์ธํ ๊ฒ์ Input ๋ฌธ์๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๋ฐํ์์ ๊ฒ์์ด ์คํ๋๋ ํ๋ซํผ์ด ๋ฌด์์ธ์ง ์ ์ ์์๊น์?
๋ค, sys.get_sys_info() ๋ฅผ ํ์ธํ์ธ์.
๋ฌธ์์ด ํ์ ์ผ๋ก ์คํฌ๋ฆฝํธ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋์?
์๋์ค. Defold๋ hash ํ์ ์ ํ๋กํผํฐ๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ type, state identifiers ๋๋ ์ด๋ค ์ข ๋ฅ์ keys๋ฅผ ๋ํ๋ด๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ ํด์ฌ๋ ์๋ํฐ์์ ์ ์ ํ url์ ๋๋กญ๋ค์ด ๋ฆฌ์คํธ๋ก ์๋์ ์ผ๋ก ์ฑ์์ฃผ๋ฏ๋ก url ํ๋กํผํฐ๊ฐ ์ข ์ข ์ ํธ๋จ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒ์ ์ค๋ธ์ ํธ id(path)๋ฅผ ์ ์ฅํ๋๋ฐ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๊ฒ์ Script properties ๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
Lua
Defold์๋ ์ด๋ค Lua ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋์ด ์๋์?
๊ณต์ ๋ฌธ์์ ๋์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ ์ธํ๊ณ ๋ socket library ๋ฟ๋ง์๋๋ผ Lua 5.1 standard libraries ์ ๋ถ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
- Basic functions (assert(), error(), print(), ipairs(), require etc)
- coroutine
- package
- string
- table
- math
- io
- os
- debug
- socket (from LuaSocket)
The forum
๋ด ์์ ์ ํ๋ณดํ๊ธฐ ์ํด ๊ธ(thread)์ ์ฌ๋ ค๋ ๋๋์?
๋ฌผ๋ก ์ด์ฃ ! ์ด๋ฅผ ์ํด ํน๋ณํ "Work for hire" ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ง๋ จํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํญ์ ์ปค๋ฎค๋ํฐ์ ์ด๋์ด๋๋ ๋ชจ๋ ๊ฒ์ ์ง์ํ๋ ค ํฉ๋๋ค.
๊ธ์ ๋ง๋ค๊ณ ๋ด ์์ ์ ์ถ๊ฐํ์ต๋๋ค. ๋ ์ถ๊ฐํ ์ ์๋์?
"Work for hire"์ ๋๋ฐฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ค์ ์ ๊ธ์ 14์ผ์ ํ ๋ฒ ์ด์ ๊ฒ์ํ ์ ์์ต๋๋ค (๋น์ ์ ๊ธ์ ์ง์ ๋ค๋ ๋๊ธ์ด ์๋ ๋๋๊ธ์ ๊ฐ๋ฅํจ). ๋ง์ฝ 14์ผ ์ด๋ด์ ๋ด์ฉ์ ์ถ๊ฐํ๋ ค๋ฉด ๊ธฐ์กด ๊ฒ์๋ฌผ์ ์์ ํด์ผ ํฉ๋๋ค.
Work for Hire ์นดํ ๊ณ ๋ฆฌ์์ ๊ตฌ์ธ ๊ธ์ ์ฌ๋ ค๋ ๋๋์?
๋ฌผ๋ก ์ด์ฃ . ๊ตฌ์ธ ๋ฟ๋ง์๋๋ผ ๊ตฌ์ง๋ ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด "ํ๋ก๊ทธ๋๋จธ๊ฐ 2d ํฝ์ ์ํฐ์คํธ๋ฅผ ์ฐพ์ต๋๋ค. ๋ ๋ถ์์ด๊ณ ๋น์ ์ ์ํด ์ง๋ถํ ๋ฅ๋ ฅ์ด ์์ต๋๋ค." ๋ผ๊ณ ์ฌ๋ ค๋ ๋ฉ๋๋ค.