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