Version: 2020.3

GUI.BeginScrollView

切换到手册
public static Vector2 BeginScrollView (Rect position, Vector2 scrollPosition, Rect viewRect);
public static Vector2 BeginScrollView (Rect position, Vector2 scrollPosition, Rect viewRect, bool alwaysShowHorizontal, bool alwaysShowVertical);
public static Vector2 BeginScrollView (Rect position, Vector2 scrollPosition, Rect viewRect, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar);
public static Vector2 BeginScrollView (Rect position, Vector2 scrollPosition, Rect viewRect, bool alwaysShowHorizontal, bool alwaysShowVertical, GUIStyle horizontalScrollbar, GUIStyle verticalScrollbar);

参数

position 屏幕上用于滚动视图的矩形。
scrollPosition 视图在 X 和 Y 方向上滚动的像素距离。
viewRect 在滚动视图内使用的矩形。
horizontalScrollbar (可选)用于水平滚动条的 GUIStyle。如果省略,则使用当前 GUISkinhorizontalScrollbar 样式。
verticalScrollbar (可选)用于垂直滚动条的 GUIStyle。如果省略,则使用当前 GUISkinverticalScrollbar 样式。
alwaysShowHorizontal 可选参数,指示始终显示水平滚动条。如果为 false 或省略,则仅在 viewRect 宽于 position 时显示。
alwaysShowVertical 可选参数,指示始终显示垂直滚动条。如果为 false 或省略,则仅在 viewRect 高于 position 时显示。

返回

Vector2 修改后的 scrollPosition。将其反馈到您传入的变量中,如示例所示。

描述

在 GUI 内开始一个滚动视图。

使用放置在其侧面的滚动条,滚动视图能够在屏幕上的一个较小区域内显示更大的区域。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // The position on of the scrolling viewport public Vector2 scrollPosition = Vector2.zero;

void 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(new Rect(10, 300, 100, 100), scrollPosition, new 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(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");

// End the scroll view that we began above. GUI.EndScrollView(); } }