position | Rectangle on the screen to use for the ScrollView. |
scrollPosition | The pixel distance that the view is scrolled in the X and Y directions. |
viewRect | The rectangle used inside the scrollview. |
alwayShowHorizontal | Optional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when clientRect is wider than position . |
alwayShowVertical | Optional parameter to always show the vertical scrollbar. If false or left out, it is only shown when clientRect is taller than position . |
horizontalScrollbar | Optional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used. |
verticalScrollbar | Optional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used. |
Vector2 The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.
Begin a scrolling view inside your GUI.
ScrollViews let you make a smaller area on-screen look 'into' a much larger area, using scrollbars placed on the sides of the ScrollView.
// The position on of the scrolling viewport var scrollPosition : Vector2 = Vector2.zero; function OnGUI () { // An absolute-positioned example: We make a scrollview that has a really large client // rect and put it in a small rect on the screen. scrollPosition = GUI.BeginScrollView (Rect (10,300,100,100), scrollPosition, Rect (0, 0, 220, 200)); // Make four buttons - one in each corner. The coordinate system is defined // by the last parameter to BeginScrollView. GUI.Button (Rect (0,0,100,20), "Top-left"); GUI.Button (Rect (120,0,100,20), "Top-right"); GUI.Button (Rect (0,180,100,20), "Bottom-left"); GUI.Button (Rect (120,180,100,20), "Bottom-right"); // End the scroll view that we began above. GUI.EndScrollView (); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Vector2 scrollPosition = Vector2.zero; void OnGUI() { scrollPosition = GUI.BeginScrollView(new Rect(10, 300, 100, 100), scrollPosition, new Rect(0, 0, 220, 200)); GUI.Button(new Rect(0, 0, 100, 20), "Top-left"); GUI.Button(new Rect(120, 0, 100, 20), "Top-right"); GUI.Button(new Rect(0, 180, 100, 20), "Bottom-left"); GUI.Button(new Rect(120, 180, 100, 20), "Bottom-right"); GUI.EndScrollView(); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public scrollPosition as Vector2 = Vector2.zero def OnGUI() as void: scrollPosition = GUI.BeginScrollView(Rect(10, 300, 100, 100), scrollPosition, Rect(0, 0, 220, 200)) GUI.Button(Rect(0, 0, 100, 20), 'Top-left') GUI.Button(Rect(120, 0, 100, 20), 'Top-right') GUI.Button(Rect(0, 180, 100, 20), 'Bottom-left') GUI.Button(Rect(120, 180, 100, 20), 'Bottom-right') GUI.EndScrollView()