Класс: Phaser.Line
Конструктор
new Line(x1, y1, x2, y2)
Создает новый объект Line с начальной и конечной точками.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x1 | number | <optional> | 0 | Координата x начала линии. |
y1 | number | <optional> | 0 | Координата y начала линии. |
x2 | number | <optional> | 0 | Координата x конца линии. |
y2 | number | <optional> | 0 | Координата y конца линии. |
- Исходный код: geom/Line.js (Строка 17)
Открытые свойства
- Исходный код: geom/Line.js (Строка 372)
- Исходный код: geom/Line.js (Строка 476)
- Исходный код: geom/Line.js (Строка 32)
- Исходный код: geom/Line.js (Строка 502)
- Исходный код: geom/Line.js (Строка 437)
- Исходный код: geom/Line.js (Строка 359)
- Исходный код: geom/Line.js (Строка 541)
- Исходный код: geom/Line.js (Строка 515)
- Исходный код: geom/Line.js (Строка 528)
- Исходный код: geom/Line.js (Строка 398)
- Исходный код: geom/Line.js (Строка 450)
- Исходный код: geom/Line.js (Строка 385)
- Исходный код: geom/Line.js (Строка 27)
- Исходный код: geom/Line.js (Строка 463)
- Исходный код: geom/Line.js (Строка 38)
- Исходный код: geom/Line.js (Строка 489)
- Исходный код: geom/Line.js (Строка 411)
- Исходный код: geom/Line.js (Строка 424)
[только для чтения] angle : number
Получает угол линии в радианах.
[только для чтения] bottom : number
Получает самую нижнюю точку этой линии.
end : Phaser.Point
Конечная точка линии.
[только для чтения] height : number
Получает высоту ограничивающего прямоугольника этой линии.
[только для чтения] left : number
Получает самую левую точку этой линии.
[только для чтения] length : number
Получает длину отрезка линии.
[только для чтения] normalAngle : number
Получает угол в радианах нормали к этой линии (line.angle - 90 градусов).
[только для чтения] normalX : number
Получает x-компоненту левой нормали к этой линии.
[только для чтения] normalY : number
Получает y-компоненту левой нормали к этой линии.
[только для чтения] perpSlope : number
Получает перпендикулярный наклон линии (x/y).
[только для чтения] right : number
Получает самую правую точку этой линии.
[только для чтения] slope : number
Получает наклон линии (y/x).
start : Phaser.Point
Начальная точка линии.
[только для чтения] top : number
Получает самую верхнюю точку этой линии.
[только для чтения] type : number
Константный тип этого объекта.
[только для чтения] width : number
Получает ширину ограничивающего прямоугольника этой линии.
[только для чтения] x : number
Получает координату x левого верхнего угла ограничивающего прямоугольника вокруг этой линии.
[только для чтения] y : number
Получает координату y левого верхнего угла ограничивающего прямоугольника вокруг этой линии.
Открытые методы
- Исходный код: geom/Line.js (Строка 610)
- Исходный код: geom/Line.js (Строка 554)
- Исходный код: geom/Line.js (Строка 630)
- Исходный код: geom/Line.js (Строка 722)
- Исходный код: geom/Line.js (Строка 200)
<static> intersects(a, b, asSegment, result) → {Phaser.Point}
Проверяет пересечение двух прямых.
Если asSegment равно true, проверяет пересечение отрезков.
Если asSegment равно false, проверяет пересечение прямых.
Возвращает отрезок пересечения AB и EF в виде точки или null, если пересечения нет.
Адаптировано из кода Кейта Хэра.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
a | Phaser.Line | Первая проверяемая прямая. | ||
b | Phaser.Line | Вторая проверяемая прямая. | ||
asSegment | boolean | <optional> | true | Если true, проверяется пересечение отрезков, иначе — пересечение целых прямых. |
result | Phaser.Point | <optional> | Объект Point для хранения результата. Если не передан, будет создан новый. |
Возвращает
Отрезок пересечения двух прямых в виде точки или null, если пересечения нет.
<static> intersectsPoints(a, b, e, f, asSegment, result) → {Phaser.Point}
Проверяет пересечение двух прямых, определённых заданными начальными и конечными точками.
Если asSegment равно true, проверяется пересечение отрезков. Если asSegment равно false, проверяется пересечение прямых.
Возвращает отрезок пересечения AB и EF в виде точки или null, если пересечения нет.
Адаптировано из кода Кейта Хэра.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
a | Phaser.Point | Начало первой проверяемой прямой. | ||
b | Phaser.Point | Конец первой проверяемой прямой. | ||
e | Phaser.Point | Начало второй проверяемой прямой. | ||
f | Phaser.Point | Конец второй проверяемой прямой. | ||
asSegment | boolean | <optional> | true | Если true, проверяется пересечение отрезков, иначе — пересечение целых прямых. |
result | Phaser.Point | object | <optional> | Объект Point для хранения результата. Если не передан, будет создан новый. |
Возвращает
Отрезок пересечения двух прямых в виде точки или null, если пересечения нет.
<static> intersectsRectangle(line, rect) → {boolean}
Проверяет пересечение прямой и прямоугольника, или прямоугольного объекта
с открытыми свойствами x, y, right и bottom, таких как Sprite или Body.
Пересечение считается действительным, если:
Прямая начинается или заканчивается внутри прямоугольника.
Отрезок прямой пересекает одну из 4 сторон прямоугольника.
Для целей этой функции прямоугольники считаются «сплошными».
Параметры
| Имя | Тип | Описание |
|---|---|---|
line | Phaser.Line | Прямая, с которой проверяется пересечение. |
rect | Phaser.Rectangle | object | Прямоугольник или прямоугольный объект, с которым проверяется пересечение. |
Возвращает
True, если прямая пересекает стороны прямоугольника, или начинается или заканчивается внутри прямоугольника.
<static> reflect(a, b) → {number}
Возвращает отраженный угол между двумя прямыми.
Это исходящий угол, основанный на угле прямой 1 и нормальном угле прямой 2.
Параметры
| Имя | Тип | Описание |
|---|---|---|
a | Phaser.Line | Основная прямая. |
b | Phaser.Line | Прямая, отражаемая от основной. |
Возвращает
Отражённый угол в радианах.
centerOn(x, y) → {Phaser.Line}
Центрирует эту прямую по заданным координатам.
Прямая центрируется путем позиционирования начальной и конечной точек таким образом,
что середина прямой совпадает с заданными координатами.
Параметры
| Имя | Тип | Описание |
|---|---|---|
x | number | Положение x для центрирования прямой. |
y | number | Положение y для центрирования прямой. |
Возвращает
Этот объект прямой.
clone(output) → {Phaser.Line}
Возвращает новый объект Line с теми же значениями для свойств start и end, что и у этого объекта Line.
Параметры
| Имя | Тип | Описание |
|---|---|---|
output | Phaser.Line | Необязательный объект Line. Если передан, значения будут установлены в него; в противном случае будет создан и возвращен новый объект Line. |
Возвращает
Клонированный объект Line.
- Source code: geom/Line.js (Line 336)
- Source code: geom/Line.js (Line 278)
- Source code: geom/Line.js (Line 86)
- Source code: geom/Line.js (Line 63)
- Source code: geom/Line.js (Line 151)
- Source code: geom/Line.js (Line 182)
- Source code: geom/Line.js (Line 224)
coordinatesOnLine(stepRate, results) → {array}
Используя алгоритм Брезенхема для прямой, это вернёт массив всех координат на этой прямой.
Начальная и конечная точки округляются перед выполнением, так как алгоритм работает с целыми числами.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
stepRate | number | <optional> | 1 | Сколько шагов вернётся? 1 = каждая координата на прямой, 2 = каждая вторая координата и т. д. |
results | array | <optional> | Массив для хранения результатов. Если не указан, будет сгенерирован новый. |
Returns
Массив координат.
fromAngle(x, y, angle, length) → {Phaser.Line}
Устанавливает эту линию, начиная от заданных координат x и y, а отрезок расширяется под углом angle на заданную length.
Parameters
| Name | Type | Description |
|---|---|---|
x | number | Координата x начала линии. |
y | number | Координата y начала линии. |
angle | number | Угол линии в радианах. |
length | number | Длина линии в пикселях. |
Returns
Этот объект линии.
fromSprite(startSprite, endSprite, useCenter) → {Phaser.Line}
Устанавливает линию, чтобы она соответствовала координатам x/y двух заданных спрайтов.
Можно дополнительно вычислять по координатам их центров.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
startSprite | Phaser.Sprite | Координаты этого спрайта будут установлены в точку начала Line. | ||
endSprite | Phaser.Sprite | Координаты этого спрайта будут установлены в точку конца Line. | ||
useCenter | boolean | <optional> | false | Если true, будет использоваться startSprite.center.x, если false - startSprite.x. Обратите внимание, что у спрайтов по умолчанию нет свойства center, поэтому используйте только в том случае, если вы переопределили свой спрайт с помощью пользовательского класса. |
Returns
Этот объект линии.
intersects(line, asSegment, result) → {Phaser.Point}
Проверяет пересечение этой линии с другой линией.
Если asSegment равно true, то проверяется пересечение отрезков. Если asSegment равно false, то проверяется пересечение прямых.
Возвращает пересекающийся отрезок AB и EF как точку или null, если пересечения нет.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
line | Phaser.Line | Линия для проверки. | ||
asSegment | boolean | <optional> | true | Если true, проверяется пересечение отрезков, в противном случае — пересечение всей линии. |
result | Phaser.Point | <optional> | Объект Point для хранения результата, если не задан, создаётся новый. |
Returns
Пересекающийся отрезок двух линий как точка, или null, если пересечения нет.
midPoint(out) → {Phaser.Point}
Возвращает объект Point, где значения x и y соответствуют центру (или середине) отрезка линии.
Parameters
| Name | Type | Argument | Description |
|---|---|---|---|
out | Phaser.Point | <optional> | Объект Phaser.Point, в который будет помещён результат. Если не задан, создаётся новый объект Point. |
Returns
Объект Phaser.Point со значениями x и y, установленных в центр отрезка линии.
pointOnLine(x, y) → {boolean}
Проверяет, попадают ли заданные координаты на эту линию. См. pointOnSegment, чтобы проверить только по отношению к отрезку линии.
Parameters
| Name | Type | Description |
|---|---|---|
x | number | Координата x. |
y | number | Координата y. |
Returns
True, если точка находится на линии, false — если нет.
pointOnSegment(x, y) → {boolean}
Проверяет, попадают ли заданные координаты на эту линию и внутри отрезка. См. pointOnLine, чтобы проверить только по отношению к линии.
Parameters
- Исходный код: geom/Line.js (Строка 238)
- Исходный код: geom/Line.js (Строка 257)
- Исходный код: geom/Line.js (Строка 168)
- Исходный код: geom/Line.js (Строка 105)
- Исходный код: geom/Line.js (Строка 130)
- Исходный код: geom/Line.js (Строка 44)
| Имя | Тип | Описание |
|---|---|---|
x | число | Линия, по которой ведется проверка. |
y | число | Линия, по которой ведется проверка. |
Возвращаемое значение
True, если точка находится на линии и отрезке, иначе false.
random(out) → {Phaser.Point}
Выбирает случайную точку на отрезке линии и возвращает её.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
out | Phaser.Point | объект | <необязательно> | Объект Phaser.Point или любой другой объект с публичными свойствами x/y, в которые будут записаны значения. |
Возвращаемое значение
Объект, содержащий случайную точку в свойствах x и y.
reflect(line) → {число}
Возвращает отражённый угол между двумя линиями.
Это исходящий угол, основанный на угле этой линии и нормальном угле заданной линии.
Параметры
| Имя | Тип | Описание |
|---|---|---|
line | Phaser.Line | Линия, относительно которой происходит отражение. |
Возвращаемое значение
Отражённый угол в радианах.
rotate(angle, asDegrees) → {Phaser.Line}
Поворачивает линию на заданный угол в angle.
Поворот происходит вокруг центра линии.
Если вам нужно вращать вокруг другой точки, используйте метод Line.rotateAround.
Если нужно повернуть концы линии, используйте методы Line.start.rotate или Line.end.rotate.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
angle | число | Угол в радианах (если asDegrees не true) на который нужно повернуть линию. | ||
asDegrees | логическое значение | <необязательно> | false | Угол в радианах (false) или градусах (true)? |
Возвращаемое значение
Объект этой линии
rotateAround(x, y, angle, asDegrees) → {Phaser.Line}
Поворачивает линию на заданный угол в angle.
Поворот происходит вокруг указанных координат.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x | число | Координата x для смещения вращения. | ||
y | число | Координата y для смещения вращения. | ||
angle | число | Угол в радианах (если asDegrees не true) на который нужно повернуть линию. | ||
asDegrees | логическое значение | <необязательно> | false | Угол в радианах (false) или градусах (true)? |
Возвращаемое значение
Объект этой линии
setTo(x1, y1, x2, y2) → {Phaser.Line}
Устанавливает компоненты линии заданным значениям.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x1 | число | <необязательно> | 0 | Координата x начала линии. |
y1 | число | <необязательно> | 0 | Координата y начала линии. |
x2 | число | <необязательно> | 0 | Координата x конца линии. |
y2 | число | <необязательно> | 0 | Координата y конца линии. |
Возвращаемое значение
Объект этой линии
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Line.html