์๋ . ์ฌ์ฌํด์ ๊ฒ์ค ์ฐ๋๋ฐฉ๋ฒ์ด๋ ์ฌ๋ฆฌ๊ฒ. ๋๋ณด๋ค ์์ฐ๋์ฌ๋์ด ์ฐจ๊ณ ๋์น๊ฒ ์ง๋ง
Surface ์ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋งํ ๊ป๋ฐ, ์ผ๋จ ์ด surface๊ฐ ใ ๊ฐ์๊ฒ
surface ์ธ๋ ์์ฃผ ์ฐ๋๊ฒ ๋ญ๋๋ฉด view_surface_id๋ ๋ง์ด์ผ?
๊ทผ๋ฐ ๊ฒ์ค์์ f1๋๋ฅด๋ฉด ๋์ค๋ ์ค๋ช ์ ์์์ด? ๊ฑฐ๊ธฐ๋ณด๋ฉด ์ด๋ป๊ฒ ์ฐ๋๊ฑด์ง ์ค๋ช ์ด ์ ๋๋ก ์๋์์ด์
๋๋์๋ ์์ด๋ก ๊ฒ๋ฉ ์์ด์ปค๋ฎค๋ํฐ์๋ค ์ง๋ฌธํ๊ณ 3์ผ๋์ ๊ฐ๋ป์ง๊ฑฐ๋ฆฌํ๋ฉด์ ๋๋ฆ ํผ์ ํฐ๋ํ๊ฑฐ์ผ.
์ผ๋จ Surface๊ธฐ๋ฅ์ ์ธ๋ ค๋ฉด ๋ช๊ฐ์ง๋ฅผ ์์์ผ๋๋๋ฐ ์ด surface๊ธฐ๋ฅ์ด ์ํ์ํ์ง๋ถํฐ ๋งํด์ค๊ฒ
๊ฒ์ค๋ฅผ ์ฐ๋ค๋ณด๋ฉด ์ ฐ์ด๋๋ฅผ ์จ์ผํ ๋๊ฐ ๋ช๊ฐ์ง ์๊ฑฐ๋ ? ์๊ฐ์ ๋ฐ๋ผ์ ๋น๋๋ฌธ์ ์ ๋ ์ ํธ๋ฅด์ค๋ฆํ๊ฒ ๋ณด์ด๊ณ , ๋ฎ์๋ ๋ถ๊ทธ์ค๋ฆํ๊ฒ ๋ณด์ธ๋ค๋๊ฐ ํจ๊ณผ์ค์๋ ์๊ณ .
๋ฌผ์ ๋น์น ๋ชจ์ต์ ํ ๋๋ ๋ถ์ด ํ๋ค๋ฆฌ๋๊ฑธ ํํํ๊ณ ์ถ์๋ ์๊ฐ ๋ฐ์์ ์ธ์๋ ์์ด.
์ ฐ์ด๋ ์๊ธฐ๋ ๋์ค์ ๋์ฌ์ฌํ๋ฉด ํด๋ณด๋ก๋๋ก ํ๊ณ ...(์ ฐ์ด๋๋ ์ผ๋งค๋ก ๋ฐฐ์ด๊ฑฐ๋ผ ๋๋ ์ ๋ชจ๋ฆ ๊ทผ๋ฐ)
view_surface_id์ ๋ํด ์๊ธฐํด๋ณด์. ์ด๋์ด ์ข์๊ฒ, view์ ์๋๊ฑฐ ์ ์ฒด๋ฅผ ์ฌ์ง ํํ๋ก ์ ์ฅํ๊ฒ ํด์ค. ์๋ฅผ ๋ค์ด์ย
surf=surface_create(view_wview,view_hview);
view_surface_id=surf;
๋ผ๊ณ ๋์์? ๊ทธ๋ฌ๋ฉด ํ์ฌ ์ฐ์ด๋ view์ ์ฌ์ง์ ์ฐ์ด์ ์ ์ฅํ๋ค๊ณ ์๊ฐํ๋ฉด๋ผ.
์ฐธ๊ณ ๋ก, view_surface_id๋ฅผ ์ฐ๋ฉด ๊ทธ๋๋ถํฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ์ด๋ application surface๋ผ๋๊ฒ ์๋ผ๋์ง, draw_surface๋ฅผ ์์ฐ๋ฉด ํ๋ฉด์ด ๊ทธ๋ฅ ๊บผ๋ฉ๊ฒ ๋๋ฒ๋ ค...
์ธ์คํด์ค create์ ์์ ์์๋ก๋ ์ฝ๋๋ฅผ ๋๊ณ , draw์์ draw_surface๋ฅผ ๋ฃ์ด์ surface๋ฅผ ๊ทธ๋ ค๋ณด์!
๊ทธ๋ฌ๋ฉด ์๋ ๋ชจ์ต์ด ๊ทธ๋๋ก ๋์ค๊ฒ ์ง?
๋ก, ๊ทธ๋ฅ ๊น๋งํ๋ฉด๋ง ๋์. ์๋ฏฟ์๊น๋ด ์์ ๊ฒ์ค๋ผ๊ณ ์จ์๋๊ฑฐ ๋ถ์ฌ์ ์บก์ณํจ.
์์ด๋ฌ๋๊ณ ?
๋ชฐ๋ผ ๋๋. ๊ทผ๋ฐ ๊ฒ์ค ์ปค๋ฎค์ ๋ฌผ์ด๋ณด๋๊น ๋ฌด์กฐ๊ฑด Draw GUI๊ธฐ๋ฅ์ ์จ์ผ๋๋ฐ
๊ทธ๋ผ ์ด๋ ๊ฒ ์ด์ ํดํ๋ฆฌ๊ฐ ๋์. ๊ท์ฐฎ์์ย ์ฌ์ง์ํ์ด๊ฑฐ ์ ๋์๋
๊ทธ๋ผ ์๋์ ์ด๋ป๊ฒ ์ฐ๋๋? ์ ฐ์ด๋๋ ๊ฐ์ด์ฐ๋๊ฒ ์ผ๋ฐ์ ์ด์ง๋ง, ์ ฐ์ด๋ ๋ฃ๋๊ฑด ๋์ค์ ๋ ํ๊ธฐ๋ก ํ๊ณ , ํ๋ฉด ํ๋ค๋ฆฌ๋ ํจ๊ณผ ๋ฃ๋๊ฑธ ๋ณด์ฌ์ค๊ฒ.
์ ฐ์ด๋ ๊ทธ๋ฆด๋ (์์์ ๋งํ๋ฏ์ด Draw GUI์) Draw_Shader(shaderid,gui x, gui y)๋ก ํ๊ฑฐ๋ ? GUI x ๋ GUI y์ irandom(์ซ์)๋ฃ์ด์ DrawGUI์ ์ฝ๋ ์ด๋ ๊ฒ ๋ฃ์ผ๋ฉด
if(!surface_exists(surf)){
ย ย surf = surface_create(view_wview,view_hview)
ย ย view_surface_id=surf;
}
if(surface_exists(surf)){
ย ย draw_surface(surf,irandom(10),irandom(10));
}
์๋ก์ฝ๋กฌ ํ๋ค๋ฆฌ๋ ํจ๊ณผ๋ ์ค์ ์์ด. ํญํ๊ฐ์๊ฑฐ ํฐ์ง๋๋ ๊ทน์ ์ธ ํจ๊ณผ ์ฃผ๊ณ ์ถ์๋ ์ฐ๋ฉด์ข์ง.
๋ค์๋ฒ์ ์ฌ์ฌํ๋ฉด ์ผ๋งค์ ฐ์ด๋ ํ๋์ฉ ์จ๋ณผ๊ฒ
์ ๋ง๋ค ๊น๋จน์๊ฒ ์๋๋ฐ.. view_surface_id ์ธ๋ ค๋ฉด Room-> Views ์์ Enable the use of views ํ๊ณ visible when the room starts ๊ผญ ์ฒดํฌํด์ค์ผ๋จ.