Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, string text, params GUILayoutOption[] options);

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, Texture image, params GUILayoutOption[] options);

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, GUIContent content, params GUILayoutOption[] options);

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, string text, GUIStyle style, params GUILayoutOption[] options);

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, Texture image, GUIStyle style, params GUILayoutOption[] options);

public static Rect Window(int id, Rect screenRect, GUI.WindowFunction func, GUIContent content, GUIStyle style, params GUILayoutOption[] options);

Параметры

id Уникальный идентификатор для использования для каждого окна. Это идентификатор, который вы будете использовать для взаимодействия с ним.
screenRect Прямоугольник на экране для окна. Система компоновки попытается разместить окно внутри него, если это невозможно сделать, она подгонит прямоугольник по размеру.
func Функция, которая создает GUI inside окна. Эта функция должна принимать один параметр - id окна, для которого в данный момент создается графический интерфейс.
text Текст для отображения в качестве заголовка окна.
image Текстура для отображения изображения в строке заголовка.
content Текст, изображение и всплывающая подсказка для этого окна.
style Необязательный стиль для окна. Если его не указать, используется стиль window из текущего GUISkin.
options Необязательный список параметров макета, определяющих дополнительные свойства макета. Любые значения, переданные здесь, переопределяют настройки, определенные style или screenRect, которые вы передаете.
Смотрите так же: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.

Возвращает

Rect Прямоугольник, в котором находится окно. Это может быть в другом положении и иметь другой размер, чем тот, который вы передали.

Описание

Создать всплывающее окно, в котором его содержимое размещается автоматически.

Окна располагаются над обычными элементами управления графическим интерфейсом, поддерживают фокусировку по щелчку и могут быть перетаскиваемы конечным пользователем. В отличие от других элементов управления, вам нужно передать им отдельную функцию, чтобы элементы управления GUI помещались в окно. Вот небольшой пример для начала:

Окно в игровом представлении.
using UnityEngine; public class ExampleScript : MonoBehaviour { Rect windowRect = new Rect(20, 20, 120, 50); void OnGUI() { // Register the window. Notice the 3rd parameter windowRect = GUILayout.Window(0, windowRect, DoMyWindow, "My Window"); } // Make the contents of the window void DoMyWindow(int windowID) { // This button will size to fit the window if (GUILayout.Button("Hello World")) { print("Got a click"); } } }

Прямоугольник экрана, который вы передаете функции, служит только ориентиром. Чтобы применить дополнительные ограничения к окну, передайте некоторые дополнительные параметры макета. Те, которые применяются здесь, переопределяют рассчитанный размер. Вот небольшой пример:

using UnityEngine; public class ExampleScript : MonoBehaviour { Rect windowRect = new Rect(20, 20, 120, 50); void OnGUI() { // Register the window. Here we instruct the layout system to // make the window 100 pixels wide no matter what. windowRect = GUILayout.Window(0, windowRect, DoMyWindow, "My Window", GUILayout.Width(100)); } // Make the contents of the window void DoMyWindow(int windowID) { // This button is too large to fit the window // Normally, the window would have been expanded to fit the button, but due to // the GUILayout.Width call above the window will only ever be 100 pixels wide if (GUILayout.Button("Please click me a lot")) { print("Got a click"); } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3