찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
======Controls====== =====Control Types===== 사용자가 생성할 수 있는 많은 다른 GUI ''Controls''이 있습니다. 이 섹션은 모든 가능한 디스플에이와 상호적인 컨트롤을 보여줍니다. 컨트롤의 레이아웃에서 영향을 주는 다른 GUI 함수가 있습니다. 그것은 가이드의 [[unity:gui-Layout|Layout]] 섹션에 설명되어 집니다. ====[[ScriptRef:GUI.Label.html|Label]]==== //Label//은 상호작용이 가능하지 않습니다. 그것은 디스플레이 만을 위한 것입니다. 그것은 클릭될 수 없거나 또는 움직여질 수 없습니다. 정보를 보여주기만을 위해서 최고입니다. <file csharp> /* GUI.Label example */ function OnGUI () { GUI.Label (Rect (25, 25, 100, 30), "Label"); } </file> {{:unity3d:gsg-LabelExample.png}}\\ // 예제 코드에 의해 생성되는 레이블 // ====[[ScriptRef:GUI.Button.html|Button]]==== //Button//은 일반적인 상호적인 버튼입니다. 그것은 마우스가 얼마나 오래 눌리던지에 상관없이 클릭될 때 싱글 타임에 응답할 것입니다. 응답은 마우스 버튼을 클릭했다 놓는 순간 일어납니다. ===Basic Usage=== UnityGUI에서 버튼은 그들이 클릭될 때 //true//를 리턴할 것입니다. 버튼이 클릭될 때 어떤 코드를 실행하기 위해서 사용자는GUI.Button 함수를 //if// 문에서 포함합니다. //if// 문 안의 것들은 버튼이 클릭될 때 실행될 코드입니다. <file csharp> /* GUI.Button example */ function OnGUI () { if (GUI.Button (Rect (25, 25, 100, 30), "Button")) { // This code is executed when the Button is clicked } } </file> {{:unity3d:gsg-ButtonExample.png}}\\ // 예제 코드에 의해 생성된 버튼 // ====[[ScriptRef:GUI.RepeatButton.html|RepeatButton]]==== //RepeatButton//은 일반적인 //Button//의 변형입니다. 차이점은 //RepeatButton//은 마우스 버튼이 눌려져있는 매 프레임마다 응답할 것이라는 점입니다. 이것은 사용자가 click-and-hold 기능을 생성하도록 합니다. ===Basic Usage=== UnityGUI에서RepeatButtons은 그들이 클릭될 때 //true//를 리턴할 것입니다. 버튼이 클릭될 때 어떤 코드를 실행하기 위해서 사용자는GUI. RepeatButton함수를 //if// 문에서 포함합니다. //If// 문 안의 것들은 RepeatButton이 클릭될 때 실행될 코드입니다. <file csharp> /* GUI.RepeatButton example */ function OnGUI () { if (GUI.RepeatButton (Rect (25, 25, 100, 30), "RepeatButton")) { // This code is executed every frame that the RepeatButton remains clicked } } </file> {{:unity3d:gsg-RepeatButtonExample.png}}\\ // 예제 코드에 의해 생성되는 Repeat Button // ====[[ScriptRef:GUI.TextField.html|TextField]]==== //TextField// 컨트롤은 상호작용적이고 텍스트 스트링을 포함하고 있는 하나의 라인 필드를 생성합니다. ===Basic Usage=== TextField는 항상 하나의 스트링을 보여줍니다. 사용자는TextField에서 보여질 스트링을 제공해야 합니다. 편집이 그 스트링에 행해질 때TextField 함수는 그 편집된 스트링을 리턴할 것입니다. <file csharp> /* GUI.TextField example */ var textFieldString = "text field"; function OnGUI () { textFieldString = GUI.TextField (Rect (25, 25, 100, 30), textFieldString); } </file> {{:unity3d:gsg-TextFieldExample.png}}\\ // 예제 코드에 의해 생성된 TextField // ====[[ScriptRef:GUI.TextArea.html|TextArea]]==== //TextArea//는 상호작용적이고 하나의 텍스트 스트링을 포함하는 다수의 라인 영역을 설정합니다. ===Basic Usage=== TextArea는 항상 하나의 스트링을 보여줍니다. 사용자는TextArea에서 보여질 스트링을 제공해야 합니다. 편집이 그 스트링에 행해질 때 TextArea함수는 그 편집된 스트링을 리턴할 것입니다. <file csharp> /* GUI.TextArea example */ var textAreaString = "text area"; function OnGUI () { textAreaString = GUI.TextArea (Rect (25, 25, 100, 30), textAreaString); } </file> {{:unity3d:gsg-TextAreaExample.png}}\\ // 예제 코드에 의해 생성되는 TextArea // ====[[ScriptRef:GUI.Toggle.html|Toggle]]==== //Toggle// 컨트롤은 지속적인 on/off 상태를 가지는 하나의 체크박스를 생성합니다. 사용자는 그것을 클릭하는 것에 의해 그 상태를 바꿀 수 있습니다. ===Basic Usage=== Toggle on/off 상태는 true/false Boolean에 의해서 나타나 집니다. 사용자는Toggle 이 실제 상태를 나타내도록 만들기 위해서 하나의 파라미터로서 boolean을 제공해야 합니다. 그Toggle 함수는 그것이 클릭되면 하나의 boolean값을 리턴할 것입니다. 이런 상호작용성을 캡쳐하기 ㅜ이해서 사용자는Toggle 함수의 리턴값을 받아들이는 boolean을 지정해야만 합니다. <file csharp> /* GUI.Toggle example */ var toggleBool = true; function OnGUI () { toggleBool = GUI.Toggle (Rect (25, 25, 100, 30), toggleBool, "Toggle"); } </file> {{:unity3d:gsg-ToggleExample.png}}\\ // 예제 코드에 의해 생성되는Toggle // ====[[ScriptRef:GUI.Toolbar.html|Toolbar]]==== //Toolbar// 컨트롤은 필수적으로 //Buttons//의 행입니다. Toolbar 위의 버튼의 오직 한 개가 한 번에 활성화될 수 있고 그것은 다른 버튼이 클릭될 때까지 활성화 상태로 남겨져 있을 것입니다. 이 행동은 일반적인Toolbar의 행동을 설명합니다. 사용자는Toolbar 위의 임의의 숫자의 버튼을 정의할 수 있습니다. ===Basic Usage=== Toolbar에서 활성화된 버튼은 정수를 통해서 트랙되어 집니다. 사용자는 함수에서 하나의 아규먼트로서 정수를 제공해야 합니다. Toolbar를 상호작용하게 만들기 위해서 사용자는 함수의 리턴 값으로 정수를 지정해야 합니다. 사용자가 제공하는 컨텐트 배열에서 요소들의 숫자는Toolbar에서 보여지는 버튼의 숫자를 결정할 것입니다. <file csharp> /* GUI.Toolbar example */ var toolbarInt = 0; var toolbarStrings : String[] = ["Toolbar1", "Toolbar2", "Toolbar3"]; function OnGUI () { toolbarInt = GUI.Toolbar (Rect (25, 25, 250, 30), toolbarInt, toolbarStrings); } </file> {{:unity3d:gsg-ToolbarExample.png}}\\ // 예제 코드에 의해 생성되는Toolbar // ====[[ScriptRef:GUI.SelectionGrid.html|SelectionGrid]]==== //SelectionGrid// 컨트롤은 다수의 행의//Toolbar//입니다. 사용자는 격자에서 행과 열의 숫자를 결정할 수 있습니다. 오직 하나의 버튼이 한 번에 활성화될 수 있습니다. ===Basic Usage=== SelectionGrid에서 활성화된 버튼은 정수를 통해서 트랙되어 집니다. 사용자는 함수에서 하나의 아규먼트로서 정수를 제공해야 합니다. SelectionGrid를 상호작용하게 만들기 위해서 사용자는 함수의 리턴 값으로 정수를 지정해야 합니다. 사용자가 제공하는 컨텐트 배열에서 요소들의 숫자는SelectionGrid에서 보여지는 버튼의 숫자를 결정할 것입니다. 사용자는 또한 함수의 아규먼트들을 통해서 열의 숫자 또한 명령할 수 있습니다. <file csharp> /* GUI.SelectionGrid example */ var selectionGridInt : int = 0; var selectionStrings : String[] = ["Grid 1", "Grid 2", "Grid 3", "Grid 4"]; function OnGUI () { selectionGridInt = GUI.SelectionGrid (Rect (25, 25, 100, 30), selectionGridInt, selectionStrings, 2); } </file> {{:unity3d:gsg-SelectionGridExample.png}}\\ // 예제 코드에 의해 생성되는SelectionGrid // ====[[ScriptRef:GUI.HorizontalSlider.html|HorizontalSlider]]==== //HorizontalSlider// 컨트롤은 미리 결정된 최소와 최대 값 사이의 값을 변화시키기 위해 드래그될 수 있는 일반적인 수평의 슬라이더 입니다. ===Basic Usage=== Slider의 위치는 float로 저장됩니다. Slider의 위치를 나타내기 위해서 사용자는 함수의 아규먼트의 하나로서 float을 제공합니다. 거기에는 최소와 최대값을 결정하는 두 개의 추가적인 값들도 있습니다. 사용자가 슬라이더를 적응시키기는 원하다면 그 슬라이더 값에Slider 함수의 리턴값인 float를 지정합니다. <file csharp> /* Horizontal Slider example */ var hSliderValue : float = 0.0; function OnGUI () { hSliderValue = GUI.HorizontalSlider (Rect (25, 25, 100, 30), hSliderValue, 0.0, 10.0); } </file> {{:unity3d:gsg-HorizontalSliderExample.png}}\\ // 예제 코드에 의해 생성되는Horizontal Slider // ====[[ScriptRef:GUI.VerticalSlider.html|VerticalSlider]]==== //VerticalSlider// 컨트롤은 미리 결정된 최소와 최대 값 사이의 값을 변화시키기 위해 드래그될 수 있는 일반적인 수직의 슬라이더 입니다. ===Basic Usage=== Slider의 위치는 float로 저장됩니다. Slider의 위치를 나타내기 위해서 사용자는 함수의 아규먼트의 하나로서 float을 제공합니다. 거기에는 최소와 최대값을 결정하는 두 개의 추가적인 값들도 있습니다. 사용자가 슬라이더를 적응시키기는 원하다면 그 슬라이더 값에Slider 함수의 리턴값인 float를 지정합니다. <file csharp> /* Vertical Slider example */ var vSliderValue : float = 0.0; function OnGUI () { vSliderValue = GUI.VerticalSlider (Rect (25, 25, 100, 30), vSliderValue, 10.0, 0.0); } </file> {{:unity3d:gsg-VerticalSliderExample.png}}\\ // 예제 코드에 의해 생성되는Vertical Slider // ====[[ScriptRef:GUI.HorizontalScrollbar.html|HorizontalScrollbar]]==== //HorizontalScrollbar// 컨트롤은 //Slider// 컨트롤과 비슷하나 웹 브라우저나 원드 프로세서를 위한 스크롤링 요소에 비주얼적으로 비슷합니다. 이 컨트롤은 //ScrollView// 컨트롤을 조종하기 위해 사용됩니다. ===Basic Usage=== Horizontal Scrollbars은 하나의 예외와 함께Horizontal Sliders과 동일하게 구현됩니다. Scrollbars의 너비를 조절하는 추가적인 아규먼트가 있습니다. <file csharp> /* Horizontal Scrollbar example */ var hScrollbarValue : float; function OnGUI () { hScrollbarValue = GUI.HorizontalScrollbar (Rect (25, 25, 100, 30), hScrollbarValue, 1.0, 0.0, 10.0); } </file> {{:unity3d:gsg-HorizontalScrollbarExample.png}}\\ // 예제 코드에 의해 생성되는Horizontal Scrollbar // ====[[ScriptRef:GUI.VerticalScrollbar.html|VerticalScrollbar]]==== //VerticalScrollbar// 컨트롤은 //Slider// 컨트롤과 비슷하나 웹 브라우저나 원드 프로세서를 위한 스크롤링 요소에 비주얼적으로 비슷합니다. 이 컨트롤은 //ScrollView// 컨트롤을 조종하기 위해 사용됩니다. ===Basic Usage=== Vertical Scrollbars은 하나의 예외와 함께Vertical Sliders과 동일하게 구현됩니다. Scrollbars의 너비를 조절하는 추가적인 아규먼트가 있습니다. <file csharp> /* Vertical Scrollbar example */ var vScrollbarValue : float; function OnGUI () { vScrollbarValue = GUI. VerticalScrollbar (Rect (25, 25, 100, 30), vScrollbarValue, 1.0, 10.0, 0.0); } </file> {{:unity3d:gsg-VerticalScrollbarExample.png}}\\ //예제 코드에 의해 생성되는Vertical Scrollbar // ====[[ScriptRef:GUI.BeginScrollView.html|ScrollView]]==== //ScrollViews//는 컨트롤의 훨씬 더 큰 볼 수있는 영역을 보여주는 컨트롤 입니다. ===Basic Usage=== ScrollViews는 아규먼트로서 두 개의 //Rects//가 필요합니다. 첫 번째 //Rects//는 스크린에서 볼 수 있는ScrollView 영역의 위치와 사이즈를 정의합니다. 두 번째 //Rects//는 볼 수 있는 영역안에 포함된 공간의 사이즈를 정의합니다. 볼 수 있는 영역의 공간이 볼 수 있는 영역보다 더 크다면Scrollbars는 적절하게 나타날 것입니다. 사용자는 보여질 볼 수 있는 영역의 위치를 저장하는 2D Vector를 지정하고 제공해야 합니다. <file csharp> /* ScrollView example */ var scrollViewVector : Vector2 = Vector2.zero; var innerText : String = "I am inside the ScrollView"; function OnGUI () { // Begin the ScrollView scrollViewVector = GUI.BeginScrollView (Rect (25, 25, 100, 100), scrollViewVector, Rect (0, 0, 400, 400)); // Put something inside the ScrollView innerText = GUI.TextArea (Rect (0, 0, 400, 400), innerText); // End the ScrollView GUI.EndScrollView(); } </file> {{:unity3d:gsg-ScrollViewExample.png}}\\ // 예제 코드에 의해 생성되는ScrollView // ====[[ScriptRef:GUI.Window.html|Window]]==== //Windows//는 컨트롤의 드래그할 수 있는 컨테이너 입니다. 그들은 클릭될 때 포커스를 받고 잃을 수 있습니다. 이것 때문에 그들은 다른 컨트롤과는 약간 다르게 구현됩니다. 각 윈도우는 //id// 넘버를 가지고 그것의 컨텐츠는Window가 포커스를 가질 때 불려지는 별개의 함수 안에 선언됩니다. ===Basic Usage=== Windows는 적절하게 일하기 위한 추가적인 함수를 필요로하는 유일한 컨트롤 입니다. 사용자는Window를 위해 실행되는 함수 이름과 //id// 넘버를 제공해야만 합니다. Window 함수 안에서 사용자는 사용자의 실제 행동 또는 포함되는 컨트롤을 생성합니다. <file csharp> /* Window example */ var windowRect : Rect = Rect (20, 20, 120, 50); function OnGUI () { windowRect = GUI.Window (0, windowRect, WindowFunction, "My Window"); } function WindowFunction (windowID : int) { // Draw any Controls inside the window here } </file> {{:unity3d:gsg-WindowExample.png}}\\ // 예제 코드에 의해 생성되는Window // ====[[ScriptRef:GUI-changed.html|GUI.changed]]==== 사용자가 GUI에서 어떠한 행동을 했는지(버튼을 클릭했거나 슬라이더를 드래그 했거나 하는 등)를 체크하기 위해서 사용자의 스크립트로 부터 //GUI.changed// 값을 읽어야 합니다. 이것은 사용자가 어떤 것을 했을 때 true로 세팅되고 사용자의 입력이 유효한지를 체크하는 것이 쉽게 됩니다. 공통적인 시나리오는 사용자가Toolbar 에서 어떤 버튼이 클릭되는지에 기반을 한 특정 값을 바꾸기를 원하는 곳의 Toolbar를 위한 것입니다. 사용자는 오직 버튼 중 한 개가 클릭될 때에만 //OnGUI()//로의 모든 콜에서 값을 지정하기를 원하지 않습니다. <file csharp> /* GUI.changed example */ private var selectedToolbar : int = 0; private var toolbarStrings = ["One", "Two"]; function OnGUI () { // Determine which button is active, whether it was clicked this frame or not selectedToolbar = GUI.Toolbar (Rect (50, 10, Screen.width - 100, 30), selectedToolbar, toolbarStrings); // If the user clicked a new Toolbar button this frame, we'll process their input if (GUI.changed) { print ("The toolbar was clicked"); if (selectedToolbar == 0) { print ("First button was clicked"); } else { print ("Second button was clicked"); } } } </file> 어떠한 GUI 컨트롤이 사용자에 의해 조작되기 전에 놓여진다면 //GUI.changed//는 true를 리턴할 것입니다. {{tag>유니티 unity}} * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.gui-Controls|유니티코리아위키]] (CC BY-NC-SA 2.0)
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
GUI Scripting Guide
GUI Basics
유니티3D ( Unity3D )
Reference Manual
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
유니티3D ( Unity3D )
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer
one_for_my_baby
alerio
power_fist
제거됨
fixer
climb_ev_ry_mountain
companion
[장비 분실]
crashed_vertibird
brotherhood_t-51b_power_armor
marco
i_forgot_to_remember_to_forget
cateye