์œ ๋‹ˆํ‹ฐ ์ฑ…๋ณด๊ณ  ํƒ€์ดํ‹€ ์ฐฝ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒŒ ์”จ์ƒต ์Šคํฌ๋ฆฝํŠธ๋กœ ์ง ๊ฑด๋ฐ ๊ธ€์ž ํฌ๊ธฐ๋‚˜ ์ƒ‰๊น” ๋ฐ”๊พธ๋Š” ๋ฒ•์€ ์•ˆ์•Œ๋ ค์ฃผ๋Œ€?

๊ธ‰ํ•œ๋ฐ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ธ€์ž ํฌ๊ธฐ๋ž‘ ์ƒ‰๊น” ๋ฐ”๊พธ๋Š” ๋ฒ•์ข€ ์•Œ๋ ค์ค˜ ์ œ๋ฐœ ๊ธ‰ํ•จ ใ… ใ… 



//--------------------------
ย // About
ย //--------------------------
ย void DisplayAbout () {
ย ย StringBuilder buf = new StringBuilder();
ย ย 
ย ย buf.Append("์ด ๊ฒŒ์ž„์€ ๋„์„œ ์ถœํŒ jpup์—์„œ ๋ฐœํ–‰ํ•œ ");
ย ย buf.Append("'UNITY3D ์ž…๋ฌธ๊ณผ ์™„์„ฑ'์˜ ");
ย ย buf.Append("์˜ˆ์ œ๋กœ ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ");
ย ย 
ย ย buf.Append("์ด ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ €์ž‘๊ถŒ์€ ํ•„์ž์—๊ฒŒ ์žˆ์œผ๋‚˜ ");
ย ย buf.Append("์ด ์ฑ…์˜ ๋…์ž๋“ค์€ ํ•„์ž์˜ ๋™์˜์—†์ด ");
ย ย buf.Append("์ž„์˜๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ");
ย ย buf.Append("์žˆ์Šต๋‹ˆ๋‹ค.");
ย ย 
ย ย int w = Screen.width;
ย ย int h = Screen.height;ย ย ย ย ย ย 
ย ย 
ย ย // Window ํฌ๊ธฐ
ย ย float winW = w * 0.6f;ย ย ย 
ย ย float winH = h * 0.7f;ย 
ย ย 
ย ย Rect rect = new Rect(w * 0.2f, h * 0.2f, winW, winH);
ย ย GUI.Window(0, rect, WindowFunc, "About");
ย ย 
ย ย // ๋ฌธ์ž์—ด ์ถœ๋ ฅ
ย ย GUI.Label(new Rect(w * 0.25f, h * 0.3f, w * 0.5f, h * 0.6f), buf.ToString());
ย ย 
ย ย // Back Button
ย ย if (GUI.Button(new Rect(w / 2 - 70, h * 0.7f, 140, 50), "Back")) {
ย ย ย isAbout = false;ย 
ย ย }
ย }
ย 
ย //-----------------------------
ย // Help
ย //-----------------------------
ย void DisplayHelp() {
ย ย int w = Screen.width;
ย ย int h = Screen.height;ย ย ย ย ย ย 
ย ย float winW = 360;ย ย ย // Window ํฌ๊ธฐ
ย ย float winH = 240;ย 
ย 
ย ย // Window ๊ทธ๋ฆฌ๊ธฐ
ย ย Rect winRect = new Rect((w - winW) / 2, (h - winH) / 2 + 10, winW, winH);
ย ย GUI.Window(0, winRect, WindowFunc, "Help");

ย ย // ์Šคํฌ๋กค๋ทฐ์˜ ํ‘œ์‹œ ์˜์—ญ
ย ย Rect scrollRect = new Rect((w - winW) / 2 + 50, (h - winH) / 2 + 40, winW - 60, winH - 40);ย 

ย ย // ํ™”๋ฉด์— ํ‘œ์‹œํ•  ์ž‘์—… ์˜์—ญ
ย ย Rect scrollArea = new Rect(0 ,0, winW - 80, 410);
ย ย 
ย ย scrollPosition = GUI.BeginScrollView(scrollRect, scrollPosition, scrollArea);
ย ย ย GUI.Label(new Rect(0, 0, 120, 30), "Drive Mode");
ย ย ย GUI.Label(new Rect(30, 25, 120, 30), "[โ†] : Trun Left");
ย ย ย GUI.Label(new Rect(30, 50, 120, 30), "[โ†’] : Turn Right");
ย ย ย GUI.Label(new Rect(30, 75, 120, 30), "[Ctrl] : Fire");
ย ย 
ย ย ย GUI.Label(new Rect(0, 100, 120, 30), "Combat Mode");
ย ย ย GUI.Label(new Rect(30, 125, 120, 30), "[โ†] : Move Left");
ย ย ย GUI.Label(new Rect(30, 150, 120, 30), "[โ†’] : Move Right");
ย ย ย GUI.Label(new Rect(30, 175, 120, 30), "[Ctrl] : Fire");
ย ย 
ย ย ย GUI.Label(new Rect(0, 200, 220, 30), "Bonus Item");
ย ย ย GUI.Label(new Rect(30, 225, 220, 30), "Yellow : Destroy All Asteroids");
ย ย ย GUI.Label(new Rect(30, 250, 220, 30), "Green : Destroy All Mines");
ย ย ย GUI.Label(new Rect(30, 275, 220, 30), "Blue : Undead Ship 10 Seconds");
ย ย ย GUI.Label(new Rect(30, 300, 220, 30), "Yellow : Increase Shield +5");
ย ย ย GUI.Label(new Rect(30, 325, 220, 30), "Cyan : Increase Ship Count +1");
ย ย 
ย ย ย // Go Back
ย ย ย if (GUI.Button(new Rect(60, 370, 140, 50), "Go back")) {
ย ย ย ย isHelp = false;
ย ย ย }
ย ย GUI.EndScrollView();ย 
ย }