Box2

Представляет выровненную по оси ограничительную рамку (AABB) в двумерном пространстве.

Конструктор

Box2(min : Vector2, max : Vector2)

Создает новую рамку Box2, ограниченную min и max.

Свойства

.min : Vector2

Vector2 представляет собой нижнюю (x, y) границу рамки. По умолчанию (+Infinity, +Infinity).

.max : Vector2

Vector2 представляет собой нижнюю верхнюю (x, y) границу рамки. По умолчанию (-Infinity, -Infinity).

Методы

.clampPoint(point : Vector2, target : Vector2) → Vector2

Ограничивает точку point в границах рамки.

.clone() → Box2

Возвращает новый Box2 с теми же min и max, что и данный.

.containsBox(box : Box2) → Boolean

boxрамка для проверки на включение.

Возвращает true, если текущая рамка включает в себя всю рамку box. Если текущая рамка и box идентичны, данная функция также возвращает true.

.containsPoint(point : Vector2) → Boolean

pointточка для проверки на включение.

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

.copy(box : Box2) → this

Копирует значения min и max из box в текущую рамку.

.distanceToPoint(point : Vector2) → Float

pointточка для измерения расстояния.

Возвращает расстояние от любого края текущей рамки до указанной точки. Если точка point лежит внутри этой области, расстояние будет равно 0.

.equals(box : Box2) → Boolean

box — рамка для сравнения с текущей.

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

.expandByPoint(point : Vector2) → this

pointточка, которая должна быть включена в рамку.

Расширяет границы этой области, включая point.

.expandByScalar(scalar : Float) → this

scalar — расстояние, на которое нужно увеличить рамку.

Расширяет каждое измерение рамки на scalar. При отрицательном значении размеры ячейки сужаются.

.expandByVector(vector : Vector2) → this

vector - вектор для расширения рамки.

Производит равностороннее расширение рамки на vector. Ширина текущей рамки будет увеличена на x-компонент vector в обоих направлениях. Высота текущей рамки будет увеличена на y-компонент vector в обоих направлениях.

.getCenter(target : Vector2) → Vector2

target — результат будет скопирован в этот Vector2.

Возвращает центральную точку рамки в виде Vector2.

.getParameter(point : Vector2, target : Vector2) → Vector2

Возвращает точку как пропорцию ширины и высоты текущей рамки.

.getSize(target : Vector2) → Vector2

target — результат будет скопирован в этот Vector2.

Возвращает ширину и высоту текущей рамки.

.intersect(box : Box2) → this

box — рамка для проверки пересечения.

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

.intersectsBox(box : Box2) → Boolean

box — рамка для проверки пересечения.

Определяет, пересекает ли данная рамка box.

.isEmpty() → Boolean

Возвращает true, если рамка включает нулевые точки в своих границах. Обратите внимание, что квадрат с равными нижней и верхней границами все еще включает одну точку, общую для обеих границ.

.makeEmpty() → this

Делает текущую рамку пустым.

.set(min : Vector2, max : Vector2) → this

Устанавливает нижнюю и верхнюю (x, y) границы текущей рамки. Обратите внимание, что этот метод только копирует значения из заданных объектов.

.setFromCenterAndSize(center : Vector2, size : Vector2) → this

Центрирует текущую рамку по center и устанавливает ширину и высоту текущей рамки значениям, указанным в size.

.setFromPoints(points : Array) → this

points — массив векторов, который будет содержать итоговую рамку.

Устанавливает верхнюю и нижнюю границы текущей рамки, чтобы включить все точки из points.

.translate(offset : Vector2) → this

offset — направление и расстояние смещения.

Добавляет смещение offset к верхней и нижней границам текущей рамки, эффективно перемещая текущую рамку на offset единиц в 2Д-пространстве.

.union(box : Box2) → this

box — рамка, которая будет объединена с текущей рамкой.

Объединяет текущую рамку с box, устанавливая верхнюю границу текущей рамки на большую из верхних границ двух рамок, а нижнюю границу текущей рамки на меньшую из нижних границ двух рамок.

Исходный файл

О том как получить исходный код этого модуля читайте тут.