Описание
Одноразовый вспомогательный класс для управления BeginScrollView / EndScrollView.
BeginScrollView вызывается при построении, а EndScrollView вызывается при удалении экземпляра. ScrollViews позволяют сделать меньшую область на экране «заглядывающей» в гораздо большую область, используя полосы прокрутки, расположенные по бокам ScrollView.
using UnityEngine;
public class ExampleClass : MonoBehaviour
{
// Позиция прокручиваемого окна просмотра
public Vector2 scrollPosition = Vector2.zero;
void OnGUI()
{
// Пример с абсолютным позиционированием: мы создаем прокрутку с действительно большим клиентом
// прямоугольник и помещаем его в маленький прямоугольник на экране.
using (var scrollScope = new GUI.ScrollViewScope(new Rect(10, 300, 100, 100), scrollPosition, new Rect(0, 0, 220, 200)))
{
scrollPosition = scrollScope.scrollPosition;
// Делаем четыре кнопки - по одной в каждом углу. Система координат определена
// по последнему параметру конструктора ScrollScope.
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");
}
// Теперь прокрутка окончена.
}
}
Свойства
handleScrollWheel | Должен ли этот ScrollView обрабатывать события колеса прокрутки. (по умолчанию: правда). |
scrollPosition | Модифицированный scrollPosition. Подайте это обратно в переменную, которую вы передаете, как показано в примере. |
Конструкторы
GUI.ScrollViewScope | Создаёт новый ScrollViewScope и запускает соответствующий ScrollView. |