Unity C#
Mathf.Clamp в Unity C# — ограничение значения в диапазоне
Метод Mathf.Clamp ограничивает значение переменной заданным диапазоном. Он выручает, когда нужно не дать значению выйти за пределы — например, скорости игрока, позиции камеры или угла поворота.
Особенности
- Ограничение значений: принимает три аргумента — значение, минимум и максимум. Если значение вышло за границы, оно прижимается к ближайшей.
- Универсальность: работает с числами с плавающей точкой (float) и целыми (int).
- Простота: легко встраивается в любую логику, где нужно ограничить данные.
Пример кода
Скорость игрока меняется стрелками, но Mathf.Clamp держит её в пределах от minSpeed до maxSpeed:
using UnityEngine;
public class Player : MonoBehaviour
{
private float speed = 5.0f;
private float minSpeed = 1.0f;
private float maxSpeed = 10.0f;
void Update()
{
// Пример изменения скорости игрока
if (Input.GetKey(KeyCode.UpArrow))
{
speed += 1.0f * Time.deltaTime;
}
if (Input.GetKey(KeyCode.DownArrow))
{
speed -= 1.0f * Time.deltaTime;
}
// Ограничиваем скорость с помощью Mathf.Clamp
speed = Mathf.Clamp(speed, minSpeed, maxSpeed);
Debug.Log("Текущая скорость: " + speed);
}
}