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

Объявление

public static float Clamp(float value, float min, float max);

Параметры

value Значение с плавающей запятой, которое следует ограничить диапазоном, определяемым минимальным и максимальным значениями.
min Минимальное значение с плавающей запятой для сравнения.
max Максимальное значение с плавающей запятой для сравнения.

Возвращает

float Результат с плавающей запятой между минимальным и максимальным значениями.

Описание

Зажимает заданное значение между заданным минимальным значением float и максимальным значением float. Возвращает заданное значение, если оно находится в пределах минимального и максимального диапазона.

Возвращает минимальное значение, если заданное значение с плавающей запятой меньше минимального. Возвращает максимальное значение, если заданное значение больше максимального значения. Используйте Clamp, чтобы ограничить значение диапазоном, который определяется минимальным и максимальным значениями.

Примечание. Если минимальное значение больше максимального, метод возвращает минимальное значение.

using UnityEngine; // Пример Mathf.Clamp. // // Анимация куба по оси X с использованием синусоидальной волны. // Пусть минимальное и максимальное положение на оси X // быть изменен. Куб будет виден внутри // минимальное и максимальное значения. public class ExampleScript : MonoBehaviour { private float xMin = -0.5f, xMax = 0.5f; private float timeValue = 0.0f; void Update() { // Compute the sin position. float xValue = Mathf.Sin(timeValue * 5.0f); // Now compute the Clamp value. float xPos = Mathf.Clamp(xValue, xMin, xMax); // Update the position of the cube. transform.position = new Vector3(xPos, 0.0f, 0.0f); // Increase animation time. timeValue = timeValue + Time.deltaTime; // Reset the animation time if it is greater than the planned time. if (xValue > Mathf.PI * 2.0f) { timeValue = 0.0f; } } void OnGUI() { // Let the minimum and maximum values be changed xMin = GUI.HorizontalSlider(new Rect(25, 25, 100, 30), xMin, -1.0f, +1.0f); xMax = GUI.HorizontalSlider(new Rect(25, 60, 100, 30), xMax, -1.0f, +1.0f); // xMin is kept less-than or equal to xMax. if (xMin > xMax) { xMin = xMax; } // Display the xMin and xMax value with better size labels. GUIStyle fontSize = new GUIStyle(GUI.skin.GetStyle("label")); fontSize.fontSize = 24; GUI.Label(new Rect(135, 10, 150, 30), "xMin: " + xMin.ToString("f2"), fontSize); GUI.Label(new Rect(135, 45, 150, 30), "xMax: " + xMax.ToString("f2"), fontSize); } }

Объявление

public static int Clamp(int value, int min, int max);

Параметры

value Целочисленное значение точки для ограничения в пределах диапазона от минимума до максимума.
min Минимальное целочисленное значение точки для сравнения.
max Максимальное целочисленное значение точки для сравнения.

Возвращает

int Результат int между минимальным и максимальным значениями.

Описание

Зажимает заданное значение между диапазоном, заданным заданным минимальным целым числом и максимальным целым числом. Возвращает заданное значение, если оно находится в пределах минимального и максимального значений.

Возвращает минимальное значение, если заданное значение меньше минимального значения. Возвращает максимальное значение, если заданное значение больше максимального значения. Параметры min и max включены. Например, Clamp(10, 0, 5) вернет максимальный аргумент 5, а не 4.

using UnityEngine; // Mathf.Clamp целочисленный пример. // // Добавляем или вычитаем значения из здоровья. // Поддерживать здоровье от 1 до 100. Начать с 17. public class ExampleScript : MonoBehaviour { public int health = 17; private int[] healthUp = new int[] {25, 10, 5, 1}; private int[] healthDown = new int[] {-10, -5, -2, -1}; // Width and height for the buttons. private int xButton = 75; private int yButton = 50; // Place of the top left button. private int xPos1 = 50, yPos1 = 100; private int xPos2 = 125, yPos2 = 100; void OnGUI() { GUI.skin.label.fontSize = 20; GUI.skin.button.fontSize = 20; // Generate and show positive buttons. for (int i = 0; i < healthUp.Length; i++) { if (GUI.Button(new Rect(xPos1, yPos1 + i * yButton, xButton, yButton), healthUp[i].ToString())) { health += healthUp[i]; } } // Generate and show negative buttons. for (int i = 0; i < healthDown.Length; i++) { if (GUI.Button(new Rect(xPos2, yPos2 + i * yButton, xButton, yButton), healthDown[i].ToString())) { health += healthDown[i]; } } // Show health between 1 and 100. health = Mathf.Clamp(health, 1, 100); GUI.Label(new Rect(xPos1, xPos1, 2 * xButton, yButton), "Health: " + health.ToString("D3")); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3