ct.u

Этот объект содержит ряд полезных служебных функций для облегчения процесса разработки.

Методы и параметры

ct.u.ldx(length, direction) and ct.u.lengthDirX(length, direction)

Получает горизонтальную компоненту вектора (длину проекции на ось X).

ct.u.ldy(length, direction) and ct.u.lengthDirY(length, direction)

Получает вертикальную компоненту вектора.

ct.u.pdn(x1, y1, x2, y2) and ct.u.pointDirection(x1, y1, x2, y2)

Получает направление вектора, который направлен от (x1; y1) к (x2; y2).

ct.u.pdc(x1, y1, x2, y2) and ct.u.pointDistance(x1, y1, x2, y2)

Получает расстояние между точками (x1; y1) и (x2; y2).

ct.u.deltaDir(dir1, dir2)

Возвращает разницу между двумя направлениями в градусах.

ct.u.clamp(min, val, max)

Возвращает значение val, ограниченное заданными минимумом и максимумом.

ct.u.lerp(a, b, alpha)

Линейно интерполирует значение от a до b, возвращая a, если alpha = 0 и b, если alpha = 1.

ct.u.unlerp(a, b, val)

Противоположность ct.u.lerp — возвращает положение val в диапазоне от a до b. Если val внутри этого диапазона, то возвращает значение от 0 до 1.

ct.u.prect(x1, y1, arg: Array|Copy) and ct.u.pointRectangle(x1, y1, arg: Array|Copy)

Проверяет, находится ли заданная точка (x1; y1) внутри прямоугольника. arg может быть либо массивом координат ([x1, y1, x2, y2]), либо копией с прямоугольной формой.

ct.u.pcircle(x1, y1, arg: Array|Copy) and ct.u.pointCircle(x1, y1, arg: Array|Copy)

Проверяет, находится ли заданная точка внутри круга. arg может быть либо массивом [x1, y1, radius], либо копией с круглой формой.

ct.u.wait(time)

Возвращает промис. Ждёт time миллисекунд, затем разрешается без каких-либо данных. Отклоняет, если была загружена новая комната. Пример:

var enemy = whatever;
enemy.state = 'Disappear';
ct.u.wait(1000)
.then(() => {
    if (!enemy.kill) { // произойдёт через секунду после вызова кода выше.
        enemy.kill = true;
    }
});

ct.u.load(url: String, callback: Function)

Загружает указанный скрипт и вызывает коллбэк после того, как он будет загружен.

ct.u.ext(o1, o2[, arr: Array[String]])

Переносит свойства объектов из o2 вo1. Вы можете указать массив имён свойств, которые вы хотите передать; в противном случае передаётся всё.

WARNING

Это не создаёт глубокую копию.