Spec-Zone.ru › Phaser

Класс: Phaser.Math

Конструктор

new Math()

Коллекция полезных математических функций.

Обычно к ним обращаются через game.math.

Исходный код: math/Math.js (Строка 17)
См.
  • Phaser.Utils
  • Phaser.ArrayUtils

Публичные свойства

<static> PI2

Двойное значение PI.

Свойства:
Имя Тип Описание
Phaser.Math#PI2 number
Значение по умолчанию
  • ~6.283
Исходный код: math/Math.js (Строка 24)

Публичные методы

angleBetween(x1, y1, x2, y2) → {number}

Найти угол отрезка от (x1, y1) до (x2, y2).

Parameters
Name Type Описание
x1 number

Координата x первого значения.

y1 number

Координата y первого значения.

x2 number

Координата x второго значения.

y2 number

Координата y второго значения.

Returns
number -

Угол в радианах.

Исходный код: math/Math.js (Строка 404)

angleBetweenPoints(point1, point2) → {number}

Найти угол отрезка от (point1.x, point1.y) до (point2.x, point2.y).

Parameters
Name Type Описание
point1 Phaser.Point

Первая точка.

point2 Phaser.Point

Вторая точка.

Returns
number -

Угол между двумя точками в радианах.

Исходный код: math/Math.js (Строка 439)

angleBetweenPointsY(point1, point2) → {number}

Найти угол отрезка от (point1.x, point1.y) до (point2.x, point2.y).

Parameters
Name Type Описание
point1 Phaser.Point
point2 Phaser.Point
Returns
number -

Угол в радианах.

Исходный код: math/Math.js (Строка 453)

angleBetweenY(x1, y1, x2, y2) → {number}

Найти угол отрезка от (x1, y1) до (x2, y2).

Разница между этим методом и Math.angleBetween заключается в том, что предполагается, что координата y перемещается
вниз по экрану.

Parameters
Name Type Описание
x1 number

Координата x первого значения.

y1 number

Координата y первого значения.

x2 number

Координата x второго значения.

y2 number

Координата y второго значения.

Returns
number -

Угол в радианах.

Исходный код: math/Math.js (Строка 420)

average() → {number}

Вычисляет среднее значение всех переданных значений.

Returns
number -

Среднее значение всех переданных значений.

Исходный код: math/Math.js (Строка 123)

<internal> bernstein(n, i) → {number}

Parameters
Name Type Описание
n number
i number
Returns
number -
Внутреннее:
  • Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
Исходный код: math/Math.js (Строка 846)

between(min, max) → {number}

Возвращает число между значениями min и max.

Parameters
Name Type Описание
min number

Минимальное значение. Должно быть положительным и меньше, чем 'max'.

max number

Максимальное значение. Должно быть положительным и больше, чем 'min'.

Returns
number -

Значение в диапазоне от min до max.

Исходный код: math/Math.js (Строка 26)

bezierInterpolation(v, k) → {number}

Метод интерполяции Безье, в основном используемый Phaser.Tween.

Parameters
Name Type Описание
v Array

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

k number

Процент интерполяции, от 0 до 1.

Returns
number -

Интерполированное значение

Исходный код: math/Math.js (Строка 769)

<internal> catmullRom(p0, p1, p2, p3, t) → {number}

Вычисляет значение Catmull-Rom.

Parameters
Имя Тип Описание
p0 число
p1 число
p2 число
p3 число
t число
Возвращаемое значение
число -
Внутреннее:
  • Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
Исходный код: math/Math.js (Строка 882)

catmullRomInterpolation(v, k) → {число}

Метод интерполяции Катмулла-Рома, в основном используемый Phaser.Tween.

Параметры
Имя Тип Описание
v Массив

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

k число

Процент интерполяции, от 0 до 1.

Возвращаемое значение
число -

Интерполированное значение

Исходный код: math/Math.js (Строка 791)

ceilTo(value, place, base) → {число}

Округляет вверх до определённого разряда по сравнению с основанием, по умолчанию 10 для десятичного разряда.
Основание представлено степенью, применённой к числу, чтобы получить этот разряд.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
value число

Значение для округления.

place число <необязательно>
0

Разряд для округления.

base число <необязательно>
10

Основание для округления. По умолчанию 10 для десятичных значений.

Возвращаемое значение
число -

Округлённое значение.

Исходный код: math/Math.js (Строка 302)

clamp(v, min, max) → {число}

Ограничивает значение пределами, привязывая его к диапазону min, max.

Параметры
Имя Тип Описание
v float

Значение для ограничения.

min float

Минимальное значение.

max float

Максимальное значение.

Возвращаемое значение
число -

Ограниченное значение.

Исходный код: math/Math.js (Строка 1028)

clampBottom(x, a) → {число}

Ограничить x диапазоном [a, Infinity).
Приблизительно то же, что и Math.max(x, a), за исключением обработки NaN.

Параметры
Имя Тип Описание
x число
a число
Возвращаемое значение
число -
Исходный код: math/Math.js (Строка 1054)

degToRad(degrees) → {число}

Преобразовать градусы в радианы.

Параметры
Имя Тип Описание
degrees число

Угол в градусах.

Возвращаемое значение
число -

Угол в радианах.

Исходный код: math/Math.js (Строка 1186)

difference(a, b) → {число}

Абсолютное различие между двумя значениями.

Параметры
Имя Тип Описание
a число

Первое значение для проверки.

b число

Второе значение для проверки.

Возвращаемое значение
число -

Абсолютное различие между двумя значениями.

Исходный код: math/Math.js (Строка 902)

distance(x1, y1, x2, y2) → {число}

Возвращает евклидово расстояние между двумя заданными координатами.

Параметры
Имя Тип Описание
x1 число
y1 число
x2 число
y2 число
Возвращаемое значение
число -

Расстояние между двумя координатами.

Исходный код: math/Math.js (Строка 970)

distancePow(x1, y1, x2, y2, pow) → {число}

Возвращает расстояние между двумя заданными координатами в заданной степени.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
x1 number
y1 number
x2 number
y2 number
pow number <optional>
2
Возвращаемое значение
number -

Расстояние между двумя наборами координат.

Исходный код: math/Math.js (Строка 1009)

distanceSq(x1, y1, x2, y2) → {number}

Возвращает квадрат евклидова расстояния между двумя заданными наборами
координат (удаляет операцию извлечения квадратного корня перед возвратом).

Параметры
Имя Тип Описание
x1 number
y1 number
x2 number
y2 number
Возвращаемое значение
number -

Квадрат расстояния между двумя наборами координат.

Исходный код: math/Math.js (Строка 989)

factorial(value) → {number}

Параметры
Имя Тип Описание
value number

число, которое вы хотите оценить

Возвращаемое значение
number -
Исходный код: math/Math.js (Строка 859)

floorTo(value, place, base) → {number}

Округляет значение вниз до определенного места относительно основания, по умолчанию 10 для десятичного места.
Основание представлено степенью, примененной к значению, чтобы получить это место.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
value number

Значение для округления.

place number <optional>
0

Место для округления.

base number <optional>
10

Основание для округления. По умолчанию 10 для десятичного.

Возвращаемое значение
number -

Округлённое значение.

Исходный код: math/Math.js (Строка 281)

fuzzyCeil(val, epsilon) → {number}

Применяет нечеткое округление вверх к заданному значению.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
val number

Значение для округления вверх.

epsilon number <optional>
0.0001

Эпсилон (малое значение, используемое в расчёте)

Возвращаемое значение
number -

ceiling(val-epsilon)

Исходный код: math/Math.js (Строка 91)

fuzzyEqual(a, b, epsilon) → {boolean}

Два числа равны с точностью до эпсилон, если их разность меньше эпсилон.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
a number

Первое число для сравнения.

b number

Второе число для сравнения.

epsilon number <optional>
0.0001

Эпсилон (малое значение, используемое в расчёте)

Возвращаемое значение
boolean -

True, если | a-b | <epsilon

Исходный код: math/Math.js (Строка 40)

fuzzyFloor(val, epsilon) → {number}

Применяет нечеткое округление вниз к заданному значению.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
val number

Значение для округления вниз.

epsilon number <optional>
0.0001

Эпсилон (малое значение, используемое в расчёте)

Возвращаемое значение
number -

floor(val+epsilon)

Исходный код: math/Math.js (Строка 107)

fuzzyGreaterThan(a, b, epsilon) → {boolean}

Число а больше с точностью до эпсилон, чем b, если оно больше, чем b - эпсилон.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
a число

Первое число для сравнения.

b число

Второе число для сравнения.

epsilon число <необязательно>
0.0001

Эпсилон (маленькое значение, используемое в расчётах)

Возвращаемое значение
логическое -

True, если a>b+эпсилон

Исходный код: math/Math.js (Строка 74)

fuzzyLessThan(a, b, эпсилон) → {логическое}

a является fuzzyLessThan b, если оно меньше b + эпсилон.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
a число

Первое число для сравнения.

b число

Второе число для сравнения.

epsilon число <необязательно>
0.0001

Эпсилон (маленькое значение, используемое в расчётах)

Возвращаемое значение
логическое -

True, если a<b+эпсилон

Исходный код: math/Math.js (Строка 57)

getShortestAngle(angle1, angle2) → {число}

Получает кратчайший угол между angle1 и angle2.
Оба угла должны быть в диапазоне от -180 до 180, что соответствует диапазону, используемому sprite.angle,
поэтому вы можете передать в этот метод два угла спрайта и получить кратчайший угол между ними.

Возвращаемый угол будет в том же диапазоне. Если возвращаемый угол больше 0, это поворот против часовой стрелки, если < 0, то по часовой стрелке.

Параметры
Имя Тип Описание
angle1 число

Первый угол. В диапазоне от -180 до 180.

angle2 число

Второй угол. В диапазоне от -180 до 180.

Возвращаемое значение
число -

Кратчайший угол в градусах. Если больше нуля, это поворот против часовой стрелки.

Исходный код: math/Math.js (Строка 374)

isEven(n) → {логическое}

Возвращает true, если заданное число чётное.

Параметры
Имя Тип Описание
n целое число

Число для проверки.

Возвращаемое значение
логическое -

True, если заданное число чётное. False, если заданное число нечётное.

Исходный код: math/Math.js (Строка 589)

isOdd(n) → {логическое}

Возвращает true, если заданное число нечётное.

Параметры
Имя Тип Описание
n целое число

Число для проверки.

Возвращаемое значение
логическое -

True, если заданное число нечётное. False, если заданное число чётное.

Исходный код: math/Math.js (Строка 575)

linear(p0, p1, t) → {число}

Вычисляет линейное (интерполяционное) значение по t.

Параметры
Имя Тип Описание
p0 число
p1 число
t число

Значение от 0 до 1.

Возвращаемое значение
число -
Исходный код: math/Math.js (Строка 831)

linearInterpolation(v, k) → {число}

Метод линейной интерполяции, в основном используется Phaser.Tween.

Параметры
Имя Тип Описание
v Массив

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

k число

Процент интерполяции, между 0 и 1.

Возвращаемое значение
число -

Интерполированное значение

Исходный код: math/Math.js (Строка 741)

mapLinear(x, a1, a2, b1, b2) → {число}

Линейное отображение из диапазона в диапазон

Параметры
Имя Тип Описание
x число

Значение для отображения

a1 число

Первая конечная точка диапазона

a2 число

Конечная точка диапазона

b1 число

Первая конечная точка диапазона

b2 число

Конечная точка диапазона

Возвращаемое значение
число -
Исходный код: math/Math.js (Строка 1085)

max() → {число}

Вариант Math.max, который может принимать либо массив чисел, либо числа в качестве параметров.

Предпочитайте стандартную функцию Math.max, когда это уместно.

Возвращаемое значение
число -

Наибольшее значение из заданных.

Исходный код: math/Math.js (Строка 635)
См.
  • http://jsperf.com/math-s-min-max-vs-homemade

maxAdd(значение, приращение, максимум) → {число}

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

Параметры
Имя Тип Описание
value число

Значение, к которому нужно добавить приращение.

amount число

Приращение, которое нужно добавить к значению.

max число

Максимальное допустимое значение.

Возвращаемое значение
число -

Новое значение.

Исходный код: math/Math.js (Строка 491)

maxProperty() → {число}

Вариант Math.max, который может принимать свойство и либо массив объектов, либо сами объекты в качестве параметров.
Он найдёт наибольшее значение заданного свойства у данных объектов.

Возвращаемое значение
число -

Наибольшее значение из заданных.

Исходный код: math/Math.js (Строка 697)

min() → {число}

Вариант Math.min, который может принимать либо массив чисел, либо сами числа в качестве параметров.

Предпочтите стандартную функцию Math.min, когда это уместно.

Возвращаемое значение
число -

Наименьшее значение из заданных.

Исходный код: math/Math.js (Строка 603)
См.
  • http://jsperf.com/math-s-min-max-vs-homemade

minProperty() → {число}

Вариант Math.min, который может принимать свойство и либо массив объектов, либо сами объекты в качестве параметров.
Он найдёт наименьшее значение заданного свойства у данных объектов.

Возвращаемое значение
число -

Наименьшее значение из заданных.

Исходный код: math/Math.js (Строка 667)

minSub(значение, приращение, минимум) → {число}

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

Параметры
Имя Тип Описание
value число

Базовое значение.

amount число

Приращение, которое нужно вычесть из базового значения.

min число

Минимальное допустимое значение.

Возвращаемое значение
число -

Новое значение.

Исходный код: math/Math.js (Строка 506)

normalizeAngle(уголРад) → {число}

Нормализует угол в диапазоне [0, 2π).

Параметры
Имя Тип Описание
angleRad число

Угол для нормализации в радианах.

Возвращаемое значение
число -

Угол, вписанный в диапазон [0, 2π] в радианах.

Исходный код: math/Math.js (Строка 478)

percent(a, b, база) → {число}

Вычислить процентное значение a от значения b с использованием заданной базы.

Параметры
Имя Тип Аргумент По умолчанию Описание
a число

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

b число

Значение, от которого нужно вычислить процент.

base число <необязательно>
0

Базовое значение.

Возвращаемое значение
число -

Процентное значение a от b, в диапазоне от 0 до 1.

Исходный код: math/Math.js (Строка 1153)

radToDeg(радиан) → {число}

Преобразование радиан в градусы.

Параметры
Имя Тип Описание
radians число

Угол в радианах.

Возвращаемое значение
число -

Угол в градусах

Исходный код: math/Math.js (Строка 1197)

reverseAngle(уголРад) → {число}

Инвертирует угол.

Параметры
Имя Тип Описание
angleRad число

Угол для инвертирования в радианах.

Возвращаемое значение
число -

Инвертированный угол в радианах.

Исходный код: math/Math.js (Строка 466)

rotateToAngle(текущийУгол, целевойУгол, линейнаяИнтерполяция) → {число}

Поворачивает текущий угол к целевому углу, учитывая кратчайшее расстояние поворота.
Аргумент линейной интерполяции — величина поворота в этом вызове.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
currentAngle число

Текущий угол в радианах.

targetAngle число

Целевой угол поворота в радианах.

lerp число <необязательно>
0.05

Значение lerp для добавления к текущему углу.

Возвращает
число -

Откорректированный угол.

Исходный код: math/Math.js (Строка 323)

roundAwayFromZero(value) → {целое}

Округляет до ближайшего целого числа вдали от нуля.

Параметры
Имя Тип Описание
value число

Любое число.

Возвращает
целое -

Округлённое значение этого числа.

Исходный код: math/Math.js (Строка 916)

roundTo(value, place, base) → {число}

Округление до определённого места относительно базы, по умолчанию 10 для десятичной дроби.
База представлена степенью, применённой к значению для получения этого места.

e.g. 2000/7 ~= 285.714285714285714285714 ~= (bin)100011101.1011011011011011

roundTo(2000/7,3) === 0
roundTo(2000/7,2) == 300
roundTo(2000/7,1) == 290
roundTo(2000/7,0) == 286
roundTo(2000/7,-1) == 285.7
roundTo(2000/7,-2) == 285.71
roundTo(2000/7,-3) == 285.714
roundTo(2000/7,-4) == 285.7143
roundTo(2000/7,-5) == 285.71429

roundTo(2000/7,3,2)  == 288       -- 100100000
roundTo(2000/7,2,2)  == 284       -- 100011100
roundTo(2000/7,1,2)  == 286       -- 100011110
roundTo(2000/7,0,2)  == 286       -- 100011110
roundTo(2000/7,-1,2) == 285.5     -- 100011101.1
roundTo(2000/7,-2,2) == 285.75    -- 100011101.11
roundTo(2000/7,-3,2) == 285.75    -- 100011101.11
roundTo(2000/7,-4,2) == 285.6875  -- 100011101.1011
roundTo(2000/7,-5,2) == 285.71875 -- 100011101.10111

Обратите внимание на то, что происходит при округлении до 3-го места (8-го разряда), 100100000, это следует предположить,
потому что мы округляем 100011.1011011011011011, что округляется вверх.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
value число

Значение для округления.

place число <необязательно>
0

Место для округления.

base число <необязательно>
10

База для округления. По умолчанию 10 для десятичной.

Возвращает
число -

Округлённое значение.

Исходный код: math/Math.js (Строка 235)

shear(n) → {число}

Параметры
Имя Тип Описание
n число
Возвращает
число -

n mod 1

Исходный код: math/Math.js (Строка 144)

sign(x) → {целое}

Значение, представляющее знак значения: -1 для отрицательного, +1 для положительного, 0, если значение равно 0.

Это работает иначе, чем Math.sign для значений NaN и -0 и т. д.

Параметры
Имя Тип Описание
x число
Возвращает
целое -

Целое число в {-1, 0, 1}

Исходный код: math/Math.js (Строка 1138)

sinCosGenerator(length, sinAmplitude, cosAmplitude, frequency) → {Объект}

Одновременное и чрезвычайно быстрое создание таблицы синуса и косинуса.
Параметры позволяют указать длину, амплитуду и частоту волны.
Этот генератор достаточно быстр для использования в реальном времени.
Код основан на исследованиях Franky of scene.at

Параметры
Имя Тип Описание
length число

Длина волны

sinAmplitude число

Амплитуда, применяемая к таблице синуса (по умолчанию 1,0). Если вам нужны значения между скажем -+ 125, то укажите 125 как значение.

cosAmplitude число

Амплитуда, применяемая к таблице косинуса (по умолчанию 1,0). Если вам нужны значения между скажем -+ 125, то укажите 125 как значение.

frequency число

Частота данных таблицы синуса и косинуса

Возвращает
Объект -

Возвращает данные таблицы.

Исходный код: math/Math.js (Строка 930)

smootherstep(x, min, max) → {вещественное}

Функция smootherstep, как подробно описано в http://en.wikipedia.org/wiki/Smoothstep

Параметры
Имя Тип Описание
x вещественное

Значение входного параметра.

min вещественное

Левая граница. Должна быть меньше правой границы.

max вещественное

Правая граница.

Возвращает
вещественное -

Значение в диапазоне от 0 до 1.

Исходный код: math/Math.js (Строка 1121)

smoothstep(x, min, max) → {вещественное}

Функция smoothstep, как подробно описано в http://en.wikipedia.org/wiki/Smoothstep

Параметры
Имя Тип Описание
x вещественное

Значение входного параметра.

min вещественное

Левая граница. Должна быть меньше правой границы.

max вещественное

Правая граница.

Возвращает
вещественное -

Значение в диапазоне от 0 до 1.

Исходный код: math/Math.js (Строка 1102)

snapTo(input, gap, start) → {число}

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

Пример: если у вас есть интервал сетки 5 и позиция 12... значение будет привязано к 10, а 14 - к 15.

Параметры
Имя Тип Аргумент По умолчанию Описание
input число

Значение для привязки.

gap число

Интервал сетки.

start число <необязательно>
0

Необязательный начальный смещение интервала.

Возвращаемое значение
число -

Привязанное значение.

Исходный код: math/Math.js (Строка 155)

snapToCeil(input, gap, start) → {число}

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

Пример: если у вас есть интервал сетки 5 и позиция 12... значение будет привязано к 15.
Также 14 будет привязано к 15, но 16 будет привязано к 20.

Параметры
Имя Тип Аргумент По умолчанию Описание
input число

Значение для привязки.

gap число

Интервал сетки.

start число <необязательно>
0

Необязательный начальный смещение интервала.

Возвращаемое значение
число -

Привязанное значение.

Исходный код: math/Math.js (Строка 208)

snapToFloor(input, gap, start) → {число}

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

Пример: если у вас есть интервал сетки 5 и позиция 12... значение будет привязано к 10.
Также 14 будет привязано к 10, но 16 будет привязано к 15.

Параметры
Имя Тип Аргумент По умолчанию Описание
input число

Значение для привязки.

gap число

Интервал сетки.

start число <необязательно>
0

Необязательный начальный смещение интервала.

Возвращаемое значение
число -

Привязанное значение.

Исходный код: math/Math.js (Строка 181)

within(a, b, tolerance) → {boolean}

Проверяет, находятся ли два значения в заданной толерантности друг от друга.

Параметры
Имя Тип Описание
a число

Первое число для проверки

b число

Второе число для проверки

tolerance число

Толерантность. Все значения, равные или меньшие этой величины, считаются находящимися в диапазоне.

Возвращаемое значение
логическое -

True, если a <= толерантность b.

Исходный код: math/Math.js (Строка 1069)
См.
  • Phaser.Math.fuzzyEqual

wrap(value, min, max) → {число}

Обеспечивает, что значение всегда остается между min и max, зацикливая значение.

Если max не больше min, результат равен 0.

Параметры
Имя Тип Описание
value число

Значение для зацикливания.

min число

Минимальное допустимое значение.

max число

Максимальное допустимое значение, должно быть больше min.

Возвращаемое значение
число -

Зацикленное значение.

Исходный код: math/Math.js (Строка 521)

wrapAngle(angle, radians) → {число}

Удерживает значение угла между -180 и +180; или -ПИ и ПИ, если радиан.

Параметры
Имя Тип Аргумент По умолчанию Описание
angle число

Значение угла для зацикливания

radians логическое <необязательно>
false

Установите в true, если угол задан в радианах, в противном случае ожидаются градусы.

Возвращаемое значение
число -

Новое значение угла; будет таким же, как входной угол, если он был в пределах границ.

Исходный код: math/Math.js (Строка 727)

wrapValue(value, amount, max) → {число}

Добавляет значение к значению и гарантирует, что результат всегда остается между 0 и max, зацикливая значение.

Значения должны быть положительными целыми числами и передаются через Math.abs. См. Phaser.Math#wrap для альтернативы.

Параметры
Имя Тип Описание
value число

Значение, к которому нужно добавить значение.

amount число

Значение, которое нужно добавить к значению.

max число

Максимальное допустимое значение.

Возвращаемое значение
число -

Зацикленное значение.

Исходный код: math/Math.js (Строка 552)

© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Math.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API