Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

GUI.BeginScrollView

static function BeginScrollView(position: Rect, scrollPosition: Vector2, viewRect: Rect): Vector2;
static Vector2 BeginScrollView(Rect position, Vector2 scrollPosition, Rect viewRect);
static def BeginScrollView(position as Rect, scrollPosition as Vector2, viewRect as Rect) as Vector2
static function BeginScrollView(position: Rect, scrollPosition: Vector2, viewRect: Rect, alwaysShowHorizontal: bool, alwaysShowVertical: bool): Vector2;
static Vector2 BeginScrollView(Rect position, Vector2 scrollPosition, Rect viewRect, bool alwaysShowHorizontal, bool alwaysShowVertical);
static def BeginScrollView(position as Rect, scrollPosition as Vector2, viewRect as Rect, alwaysShowHorizontal as bool, alwaysShowVertical as bool) as Vector2
static function BeginScrollView(position: Rect, scrollPosition: Vector2, viewRect: Rect, horizontalScrollbar: GUIStyle, verticalScrollbar: GUIStyle): Vector2;
static Vector2 BeginScrollView(Rect position, Vector2 scrollPosition, Rect viewRect, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar);
static def BeginScrollView(position as Rect, scrollPosition as Vector2, viewRect as Rect, horizontalScrollbar as GUIStyle, verticalScrollbar as GUIStyle) as Vector2
static function BeginScrollView(position: Rect, scrollPosition: Vector2, viewRect: Rect, alwaysShowHorizontal: bool, alwaysShowVertical: bool, horizontalScrollbar: GUIStyle, verticalScrollbar: GUIStyle): Vector2;
static Vector2 BeginScrollView(Rect position, Vector2 scrollPosition, Rect viewRect, bool alwaysShowHorizontal, bool alwaysShowVertical, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar);
static def BeginScrollView(position as Rect, scrollPosition as Vector2, viewRect as Rect, alwaysShowHorizontal as bool, alwaysShowVertical as bool, horizontalScrollbar as GUIStyle, verticalScrollbar as GUIStyle) as Vector2

Parameters

positionRectangle on the screen to use for the ScrollView.
scrollPositionThe pixel distance that the view is scrolled in the X and Y directions.
viewRectThe rectangle used inside the scrollview.
alwayShowHorizontalOptional parameter to always show the horizontal scrollbar. If false or left out, it is only shown when clientRect is wider than position.
alwayShowVerticalOptional parameter to always show the vertical scrollbar. If false or left out, it is only shown when clientRect is taller than position.
horizontalScrollbarOptional GUIStyle to use for the horizontal scrollbar. If left out, the horizontalScrollbar style from the current GUISkin is used.
verticalScrollbarOptional GUIStyle to use for the vertical scrollbar. If left out, the verticalScrollbar style from the current GUISkin is used.

Returns

Vector2 The modified scrollPosition. Feed this back into the variable you pass in, as shown in the example.

Description

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()