Класс: Phaser.Physics.Arcade
Конструктор
new Arcade(game)
Мир физики Arcade. Содержит методы столкновения, перекрытия и движения, относящиеся к физике Arcade.
Параметры
| Имя | Тип | Описание |
|---|---|---|
game | Phaser.Game | ссылка на текущую экземпляр игры. |
- Исходный код: physics/arcade/World.js (Строка 14)
Классы
- Body
- TilemapCollision
Общедоступные свойства
- Исходный код: physics/arcade/World.js (Строка 130)
- Исходный код: physics/arcade/World.js (Строка 106)
- Исходный код: physics/arcade/World.js (Строка 114)
- Исходный код: physics/arcade/World.js (Строка 98)
- Исходный код: physics/arcade/World.js (Строка 122)
- Исходный код: physics/arcade/World.js (Строка 29)
- Исходный код: physics/arcade/World.js (Строка 36)
- Исходный код: physics/arcade/World.js (Строка 56)
- Исходный код: physics/arcade/World.js (Строка 19)
- Исходный код: physics/arcade/World.js (Строка 24)
- Исходный код: physics/arcade/World.js (Строка 72)
- Исходный код: physics/arcade/World.js (Строка 46)
- Исходный код: physics/arcade/World.js (Строка 41)
- Исходный код: physics/arcade/World.js (Строка 51)
- Исходный код: physics/arcade/World.js (Строка 77)
- Исходный код: physics/arcade/World.js (Строка 67)
- Исходный код: physics/arcade/World.js (Строка 62)
[static] BOTTOM_TOP : number
Константа, используемая для значения sortDirection.
Используйте эту константу, если ваш игровой мир узкий, но высокий, и прокручивается снизу вверх (например, Commando или вертикальная прокручиваемая игра-стрелялка)
[static] LEFT_RIGHT : number
Константа, используемая для значения sortDirection.
Используйте эту константу, если ваш игровой мир широкий, но короткий, и прокручивается слева направо (например, Mario)
[static] RIGHT_LEFT : number
Константа, используемая для значения sortDirection.
Используйте эту константу, если ваш игровой мир широкий, но короткий, и прокручивается справа налево (например, Mario в обратную сторону)
[static] SORT_NONE : number
Константа, используемая для значения sortDirection.
Используйте эту константу, если вы не хотите выполнять сортировку до столкновения вообще или будете сортировать свои группы вручную.
[static] TOP_BOTTOM : number
Константа, используемая для значения sortDirection.
Используйте эту константу, если ваш игровой мир узкий, но высокий, и прокручивается сверху вниз (например, Dig Dug)
bounds : Phaser.Rectangle
Границы, внутри которых существует мир физики. По умолчанию совпадает с границами мира.
checkCollision : Object
Установите свойства checkCollision для управления обработкой столкновения с границами.
Например, checkCollision.down = false означает, что объекты Body не могут сталкиваться с нижней границей World.bounds. Объект, содержащий разрешенные флаги столкновений.
forceX : boolean
Если true, World.separate всегда будет разделять по оси X перед Y. В противном случае он сначала проверит суммарные значения силы тяжести.
game : Phaser.Game
Локальная ссылка на игру.
gravity : Phaser.Point
Настройка гравитации World. По умолчанию x: 0, y: 0, или отсутствует гравитация.
isPaused : boolean
Если true метод Body.preUpdate будет пропущен, останавливая все движения для всех объектов. Обратите внимание, что другие методы, такие как collide, все равно будут работать, поэтому будьте осторожны, не вызывая их для приостановленных объектов.
maxLevels : number
Используется QuadTree для установки максимального количества уровней итераций.
maxObjects : number
Используется QuadTree для установки максимального количества объектов в каждом квадранте.
OVERLAP_BIAS : number
Значение, добавляемое к значениям дельты во время проверок столкновений.
quadTree : Phaser.QuadTree
QuadTree мира.
skipQuadTree : boolean
Если true, QuadTree не будет использоваться для столкновений. QuadTree отлично подходят, если объекты равномерно распределены в игре, в противном случае они приводят к потере производительности. Если вы это включите, вы можете отключить его для каждого тела с помощью Body.skipQuadTree.
sortDirection : number
Используется при столкновении Sprite с группой или группы с группой. Определяет направление, на основе которого выполняется сортировка. По умолчанию Phaser.Physics.Arcade.LEFT_RIGHT.
Общедоступные методы
- Исходный код: physics/arcade/World.js (Строка 1829)
- Исходный код: physics/arcade/World.js (Строка 1858)
- Исходный код: physics/arcade/World.js (Строка 1888)
- Объект Point, где point.x содержит значение ускорения по оси x, а point.y — значение ускорения по оси y.
- Исходный код: physics/arcade/World.js (Строка 1810)
accelerateToObject(displayObject, destination, speed, xSpeedMax, ySpeedMax) → {number}
Устанавливает свойства acceleration.x/y для объекта отображения, чтобы он двигался к цели со заданной скоростью (в пикселях в секунду в квадрате).
Вы должны указать максимальное значение скорости, после которого объект отображения не будет ускоряться.
Примечание: Объект отображения не постоянно отслеживает цель. Если цель меняет своё положение во время перемещения, объект отображения не будет изменять свой курс.
Примечание: Объект отображения не останавливается, когда достигает координат назначения.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект отображения, который нужно переместить. | ||
destination | any | Объект отображения, к которому нужно перемещаться. Может быть любым объектом, но должен иметь видимые свойства x/y. | ||
speed | number | <optional> | 60 | Скорость ускорения в пикселях в секунду. |
xSpeedMax | number | <optional> | 500 | Максимальная скорость по оси x для объекта отображения. |
ySpeedMax | number | <optional> | 500 | Максимальная скорость по оси y для объекта отображения. |
Возвращаемое значение
Угол (в радианах), на который визуально должен быть установлен объект, чтобы соответствовать новой траектории.
accelerateToPointer(displayObject, pointer, speed, xSpeedMax, ySpeedMax) → {number}
Устанавливает свойства acceleration.x/y для объекта отображения, чтобы он двигался к цели со заданной скоростью (в пикселях в секунду в квадрате).
Вы должны указать максимальное значение скорости, после которого объект отображения не будет ускоряться.
Примечание: Объект отображения не постоянно отслеживает цель. Если цель меняет своё положение во время перемещения, объект отображения не будет изменять свой курс.
Примечание: Объект отображения не останавливается, когда достигает координат назначения.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект отображения, который нужно переместить. | ||
pointer | Phaser.Pointer | <optional> | Указатель, к которому нужно перемещаться. По умолчанию Phaser.Input.activePointer. | |
speed | number | <optional> | 60 | Скорость ускорения в пикселях в секунду. |
xSpeedMax | number | <optional> | 500 | Максимальная скорость по оси x для объекта отображения. |
ySpeedMax | number | <optional> | 500 | Максимальная скорость по оси y для объекта отображения. |
Возвращаемое значение
Угол (в радианах), на который визуально должен быть установлен объект, чтобы соответствовать новой траектории.
accelerateToXY(displayObject, x, y, speed, xSpeedMax, ySpeedMax) → {number}
Устанавливает свойства acceleration.x/y для объекта отображения, чтобы он двигался к координатам x/y со заданной скоростью (в пикселях в секунду в квадрате).
Вы должны указать максимальное значение скорости, после которого объект отображения не будет ускоряться.
Примечание: Объект отображения не постоянно отслеживает цель. Если цель меняет своё положение во время перемещения, объект отображения не будет изменять свой курс.
Примечание: Объект отображения не останавливается, когда достигает координат назначения.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект отображения, который нужно переместить. | ||
x | number | Координата x, к которой нужно ускориться. | ||
y | number | Координата y, к которой нужно ускориться. | ||
speed | number | <optional> | 60 | Скорость ускорения в пикселях в секунду. |
xSpeedMax | number | <optional> | 500 | Максимальная скорость по оси x для объекта отображения. |
ySpeedMax | number | <optional> | 500 | Максимальная скорость по оси y для объекта отображения. |
Возвращаемое значение
Угол (в радианах), на который визуально должен быть установлен объект, чтобы соответствовать новой траектории.
accelerationFromRotation(rotation, speed, point) → {Phaser.Point}
Учитывая угол поворота (в радианах) и скорость, рассчитать ускорение и вернуть его как объект Point, или установить его в заданный объект Point.
Один из способов использования: accelerationFromRotation(rotation, 200, sprite.acceleration), который установит значения непосредственно в ускорение объекта sprite, а не создаст новый объект Point.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
rotation | number | Угол в радианах. | ||
speed | number | <optional> | 60 | Скорость перемещения в пикселях в секунду в квадрате. |
point | Phaser.Point | object | <optional> | Объект Point, в котором свойства x и y будут установлены в рассчитанное ускорение. |
Возвращаемое значение
- Source code: physics/arcade/World.js (Line 1996)
- Source code: physics/arcade/World.js (Line 2024)
- Source code: physics/arcade/World.js (Line 2070)
- Source code: physics/arcade/World.js (Line 2041)
- Source code: physics/arcade/World.js (Line 1125)
angleBetween(source, target, world) → {number}
Находит угол в радианах между двумя объектами отображения (например, Sprites).
Необязательный аргумент world позволяет возвращать результат, основываясь на свойстве Game Objects world,
а не на значениях x и y. Это полезно, если объект вложен в группу со смещением
или родительский объект Game Object.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
source | any | Объект отображения, от которого нужно измерить угол. | ||
target | any | Объект отображения, к которому нужно измерить угол. | ||
world | boolean | <optional> | false | Вычислять угол, используя мировые координаты (true), или координаты объекта (false, по умолчанию) |
Returns
Угол в радианах между объектами отображения источника и цели.
angleBetweenCenters(source, target) → {number}
Находит угол в радианах между центрами двух объектов отображения (например, Sprites).
Parameters
| Name | Type | Description |
|---|---|---|
source | any | Объект отображения, от которого нужно измерить угол. |
target | any | Объект отображения, к которому нужно измерить угол. |
Returns
Угол в радианах между объектами отображения источника и цели.
angleToPointer(displayObject, pointer, world) → {number}
Находит угол в радианах между объектом отображения (например, Sprite) и указателем, учитывая их координаты x/y и центры.
Необязательный аргумент world позволяет возвращать результат, основываясь на свойстве Game Objects world,
а не на значениях x и y. Это полезно, если объект вложен в группу со смещением
или родительский объект Game Object.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
displayObject | any | Объект отображения, от которого нужно измерить угол. | ||
pointer | Phaser.Pointer | <optional> | Указатель Phaser.Pointer. Если не указано, используется Input.activePointer. | |
world | boolean | <optional> | false | Вычислять угол, используя мировые координаты (true), или координаты объекта (false, по умолчанию) |
Returns
Угол в радианах между displayObject.x/y и Pointer.x/y
angleToXY(displayObject, x, y, world) → {number}
Находит угол в радианах между объектом отображения (например, Sprite) и заданной координатой x/y.
Необязательный аргумент world позволяет возвращать результат, основываясь на свойстве Game Objects world,
а не на значениях x и y. Это полезно, если объект вложен в группу со смещением
или родительский объект Game Object.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
displayObject | any | Объект отображения, от которого нужно измерить угол. | ||
x | number | Координата x для определения угла. | ||
y | number | Координата y для определения угла. | ||
world | boolean | <optional> | false | Вычислять угол, используя мировые координаты (true), или координаты объекта (false, по умолчанию) |
Returns
Угол в радианах между displayObject.x/y и заданными координатами x/y
circleBodyIntersects(circle, body) → {boolean}
Проверяет, пересекается ли круглый объект Body с прямоугольным объектом Body.
Parameters
| Name | Type | Description |
|---|---|---|
circle | Phaser.Physics.Arcade.Body | Объект Body с установленным свойством |
body | Phaser.Physics.Arcade.Body | Объект Body, у которого свойство |
Returns
Возвращает true, если объекты пересекаются, в противном случае - false.
collide(object1, object2, collideCallback, processCallback, callbackContext) → {boolean}
Проверяет столкновение между двумя игровыми объектами. Вы можете производить столкновения Sprite vs. Sprite, Sprite vs. Group, Group vs. Group, Sprite vs. Tilemap Layer или Group vs. Tilemap Layer.
Оба параметра могут быть массивами объектов разных типов.
Если передаются два массива, элементы первого массива будут проверяться на столкновение со всеми элементами второго массива.
Объекты также автоматически отделяются. Если разделение не нужно, используйте ArcadePhysics.overlap вместо этого.
Можно предоставить необязательный processCallback. Если он задан, эта функция будет вызвана, когда два спрайта столкнутся. Она вызывается до любого разделения,
позволяя выполнить дополнительные проверки. Если функция возвращает true, то столкновение и разделение выполняются. Если возвращает false, оно пропускается.
collideCallback — необязательная функция, которая вызывается только при столкновении двух спрайтов. Если установлен processCallback, он должен вернуть true, чтобы вызвался collideCallback.
ПРИМЕЧАНИЕ: Эта функция не рекурсивна и не будет проверять объекты-потомки, переданные (например, группы или карты плиток внутри других групп).
Parameters
- Исходный код: physics/arcade/World.js (Строка 375)
- Исходный код: physics/arcade/World.js (Строка 257)
- Исходный код: physics/arcade/World.js (Строка 1918)
- Исходный код: physics/arcade/World.js (Строка 1969)
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
object1 | Phaser.Sprite | Phaser.Group | Phaser.Particles.Emitter | Phaser.TilemapLayer | array | Первый объект или массив объектов для проверки. Может быть Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter или Phaser.TilemapLayer. | ||
object2 | Phaser.Sprite | Phaser.Group | Phaser.Particles.Emitter | Phaser.TilemapLayer | array | Второй объект или массив объектов для проверки. Может быть Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter или Phaser.TilemapLayer. | ||
collideCallback | function | <optional> | null | Необязательная функция обратного вызова, которая вызывается при столкновении объектов. Два объекта будут переданы в эту функцию в том же порядке, в котором вы их указали, за исключением столкновения Group vs. Sprite, в котором случае Sprite всегда будет первым параметром. |
processCallback | function | <optional> | null | Функция обратного вызова, которая позволяет выполнить дополнительные проверки для двух объектов, если они перекрываются. Если этот параметр задан, столкновение произойдёт только если processCallback вернёт true. Два объекта будут переданы в эту функцию в том же порядке, в котором вы их указали, за исключением столкновения Group vs. Sprite, в котором случае Sprite всегда будет первым параметром. |
callbackContext | object | <optional> | Контекст выполнения функций обратного вызова. |
Возвращаемое значение
True, если столкновение произошло, в противном случае false.
computeVelocity(axis, body, velocity, acceleration, drag, max) → {number}
Функция, аналогичная tween, которая принимает начальную скорость и другие факторы и возвращает изменённую скорость.
Основана на функции из Flixel автором @ADAMATOMIC
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
axis | number | 0 — ничего, 1 — горизонтальное, 2 — вертикальное. | ||
body | Phaser.Physics.Arcade.Body | Объект Body, который должен быть обновлён. | ||
velocity | number | Любое значение компонента скорости (например, 20). | ||
acceleration | number | Скорость изменения скорости. | ||
drag | number | В основном замедление, это то, насколько скорость изменяется, если Acceleration не задано. | ||
max | number | <optional> | 10000 | Абсолютное максимальное значение для скорости. |
Возвращаемое значение
Изменённое значение скорости.
distanceBetween(source, target, world) → {number}
Вычисляет расстояние между двумя объектами отображения (например, Sprite).
Необязательный параметр world позволяет вернуть результат, основанный на свойстве world объектов Game, а не на значениях x и y. Это полезно, если объект вложен в смещённую группу или родительский объект Game.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
source | any | Объект отображения, от которого измеряется расстояние. | ||
target | any | Объект отображения, до которого измеряется расстояние. | ||
world | boolean | <optional> | false | Вычислить расстояние в координатах мира (true) или координатах объекта (false, по умолчанию). |
Возвращаемое значение
Расстояние между объектами source и target.
distanceToPointer(displayObject, pointer, world) → {number}
Вычисляет расстояние между объектом отображения (например, Sprite) и указателем. Если указатель не задан, используется Input.activePointer.
Вычисление выполняется от координаты x/y объекта отображения. Это может быть верхний левый угол, если его якорь не изменён.
Если необходимо вычислить расстояние от центра объекта отображения, используйте метод distanceBetweenCenters()
Необязательный параметр world позволяет вернуть результат, основанный на свойстве world объектов Game, а не на значениях x и y. Это полезно, если объект вложен в смещённую группу или родительский объект Game.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект отображения, от которого измеряется расстояние. | ||
pointer | Phaser.Pointer | <optional> | Phaser.Pointer, до которого измеряется расстояние. Если не указан, используется Input.activePointer. | |
world | boolean | <optional> | false | Вычислить расстояние в координатах мира (true) или координатах объекта (false, по умолчанию). |
Возвращаемое значение
Расстояние между объектом и указателем.
distanceToXY(displayObject, x, y, world) → {number}
- Исходный код: physics/arcade/World.js (Строка 1942)
- Исходный код: physics/arcade/World.js (Строка 160)
- Исходный код: physics/arcade/World.js (Строка 216)
- Исходный код: physics/arcade/World.js (Строка 1622)
- Исходный код: physics/arcade/World.js (Строка 1599)
Найдите расстояние между объектом отображения (например, Sprite) и заданными координатами x/y.
Расчёт выполняется от координат объекта отображения x/y. Это может быть верхний левый угол, если его якорь не был изменён.
Если вам нужно рассчитать расстояние от центра объекта отображения, используйте метод distanceBetweenCenters()
Необязательный аргумент world позволяет возвращать результат, основываясь на свойстве объекта игры world,
вместо его значений x и y. Это полезно, если объект вложен во вложенную группу со смещением
или родительский объект игры.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект отображения, от которого необходимо выполнить проверку. | ||
x | number | Координата x для перемещения. | ||
y | number | Координата y для перемещения. | ||
world | boolean | <optional> | false | Вычислять расстояние в координатах мира (true) или координатах объекта (false, значение по умолчанию) |
Возвращаемое значение
Расстояние между объектом и координатами x/y.
enable(object, children)
Создаст физическое тело Arcade Physics для данного объекта игры или массива объектов игры.
Объект игры может иметь только 1 активное физическое тело в любое время, и его нельзя изменить, пока объект не будет уничтожен.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
object | object | array | Phaser.Group | Объект игры, для которого необходимо создать физическое тело. Также может быть массивом или группой объектов, тело будет создано для каждого дочернего элемента, у которого есть свойство | ||
children | boolean | <optional> | true | Создать тело для всех дочерних элементов этого объекта? Если true, он будет рекурсивно проходить по списку отображения до тех пор, пока это возможно. |
enableBody(object)
Создаёт физическое тело Arcade Physics для данного объекта игры.
Объект игры может иметь только 1 активное физическое тело в любое время, и его нельзя изменить, пока тело не будет сброшено.
При добавлении физического тела Arcade Physics к объекту, объект автоматически добавляется в массив хэша родительских групп.
Параметры
| Имя | Тип | Описание |
|---|---|---|
object | object | Объект игры, для которого необходимо создать физическое тело. Тело будет создано только если у этого объекта есть свойство |
getObjectsAtLocation(x, y, group, callback, callbackContext, callbackArg) → {Array.<PIXI.DisplayObject>}
Учитывая группу и расположение, это проверяет, какие дочерние элементы группы перекрывают координаты.
Каждый дочерний элемент отправляется в предоставленный обратный вызов для дальнейшей обработки.
Обратите внимание, что дочерние элементы не проверяются по порядку глубины, а только перекрывают ли они координаты или нет.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | number | Координата x для проверки. | |
y | number | Координата y для проверки. | |
group | Phaser.Group | Группа для проверки. | |
callback | function | <optional> | Функция обратного вызова, которая вызывается, если объект перекрывает координаты. Обратный вызов получит два параметра: callbackArg и объект, который перекрыл расположение. |
callbackContext | object | <optional> | Контекст, в котором выполнить обратный вызов. |
callbackArg | object | <optional> | Аргумент для передачи в обратный вызов. |
Возвращаемое значение
Массив спрайтов из группы, которые перекрывают координаты.
getObjectsUnderPointer(pointer, group, callback, callbackContext) → {Array.<PIXI.DisplayObject>}
Учитывая группу и указатель, это проверяет, какие дочерние элементы группы перекрывают координаты указателя.
Каждый дочерний элемент отправляется в предоставленный обратный вызов для дальнейшей обработки.
Обратите внимание, что дочерние элементы не проверяются по порядку глубины, а только перекрывают ли они указатель или нет.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
pointer | Phaser.Pointer | Указатель для проверки. | |
group | Phaser.Group | Группа для проверки. | |
callback | function | <optional> | Функция обратного вызова, которая вызывается, если объект перекрывает указатель. Обратный вызов получит два параметра: указатель и объект, который перекрыл его. |
callbackContext | object | <optional> | Контекст, в котором выполнить обратный вызов. |
Возвращаемое значение
Массив спрайтов из группы, которые перекрывают координаты указателя.
getOverlapX(body1, body2, overlapOnly) → {float}
Вычисляет горизонтальное перекрытие между двумя телами и соответствующим образом устанавливает их свойства, включая:touching.left, touching.right и overlapX.
Параметры
- Исходный код: physics/arcade/World.js (Строка 1331)
- Исходный код: physics/arcade/World.js (Строка 1395)
- Исходный код: physics/arcade/World.js (Строка 1061)
- Исходный код: physics/arcade/World.js (Строка 1666)
- Исходный код: physics/arcade/World.js (Строка 1701)
| Имя | Тип | Описание |
|---|---|---|
body1 | Phaser.Physics.Arcade.Body | Первый объект Body для разделения. |
body2 | Phaser.Physics.Arcade.Body | Второй объект Body для разделения. |
overlapOnly | boolean | Это проверка на перекрытие или часть разделения? |
Возвращаемое значение
Возвращает величину горизонтального перекрытия между двумя объектами.
getOverlapY(body1, body2, overlapOnly) → {float}
Вычисляет вертикальное перекрытие между двумя объектами Body и устанавливает соответствующие свойства, включая:touching.up, touching.down и overlapY.
Параметры
| Имя | Тип | Описание |
|---|---|---|
body1 | Phaser.Physics.Arcade.Body | Первый объект Body для разделения. |
body2 | Phaser.Physics.Arcade.Body | Второй объект Body для разделения. |
overlapOnly | boolean | Это проверка на перекрытие или часть разделения? |
Возвращаемое значение
Возвращает величину вертикального перекрытия между двумя объектами.
intersects(body1, body2) → {boolean}
Проверка пересечения между двумя объектами.
Параметры
| Имя | Тип | Описание |
|---|---|---|
body1 | Phaser.Physics.Arcade.Body | Первый объект Body для проверки. |
body2 | Phaser.Physics.Arcade.Body | Второй объект Body для проверки. |
Возвращаемое значение
True, если объекты пересекаются, иначе false.
moveToObject(displayObject, destination, speed, maxTime) → {number}
Перемещает заданный объект к целевому объекту с постоянной скоростью.
Если задано значение maxTime, скорость будет скорректирована (перезаписана), чтобы объект достиг цели за указанное количество секунд.
Время является приблизительным из-за работы таймеров браузера. Допустимо отклонение ±50 мс.
Примечание: Объект не отслеживает цель непрерывно. Если цель изменяет своё положение во время перемещения, объект не изменяет свой курс.
Примечание: Объект не останавливается, достигнув координат цели.
Примечание: Не учитывает ускорение, максимальную скорость или сопротивление (если сопротивление или ускорение слишком велики, объект может не двигаться)
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект для перемещения. | ||
destination | any | Целевой объект. Может быть любым объектом, но должен иметь свойства x/y. | ||
speed | number | <дополнительно> | 60 | Скорость перемещения в пикселях в секунду (по умолчанию 60 пикселей/сек). |
maxTime | number | <дополнительно> | 0 | Время в миллисекундах (1000 = 1 секунда). Если задано, скорость корректируется, чтобы объект достиг цели за указанное количество мс. |
Возвращаемое значение
Угол (в радианах), на который должен быть визуально установлен объект, чтобы соответствовать новой скорости.
moveToPointer(displayObject, speed, pointer, maxTime) → {number}
Перемещает заданный объект к указателю с постоянной скоростью. Если указатель не задан, используется Phaser.Input.activePointer.
Если задано значение maxTime, скорость будет скорректирована (перезаписана), чтобы объект достиг цели за указанное количество секунд.
Время является приблизительным из-за работы таймеров браузера. Допустимо отклонение ±50 мс.
Примечание: Объект не отслеживает цель непрерывно. Если цель изменяет своё положение во время перемещения, объект не изменяет свой курс.
Примечание: Объект не останавливается, достигнув координат цели.
Параметры
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
displayObject | any | Объект для перемещения. | ||
speed | number | <дополнительно> | 60 | Скорость перемещения в пикселях в секунду (по умолчанию 60 пикселей/сек). |
pointer | Phaser.Pointer | <дополнительно> | Указатель для перемещения. По умолчанию используется Phaser.Input.activePointer. | |
maxTime | number | <дополнительно> | 0 | Время в миллисекундах (1000 = 1 секунда). Если задано, скорость корректируется, чтобы объект достиг цели за указанное количество мс. |
Возвращаемое значение
Угол (в радианах), на который должен быть визуально установлен объект, чтобы соответствовать новой скорости.
moveToXY(displayObject, x, y, speed, maxTime) → {number}
Перемещает заданный объект к координатам x/y с постоянной скоростью.
Если задано значение maxTime, скорость будет скорректирована (перезаписана), чтобы объект достиг цели за указанное количество секунд.
Время является приблизительным из-за работы таймеров браузера. Допустимо отклонение ±50 мс.
Примечание: Объект не отслеживает цель непрерывно. Если цель изменяет своё положение во время перемещения, объект не изменяет свой курс.
Примечание: Объект не останавливается, достигнув координат цели.
Примечание: Не учитывает ускорение, максимальную скорость или сопротивление (если сопротивление или ускорение слишком велики, объект может не двигаться)
Параметры
- Исходный код: physics/arcade/World.js (Строка 1736)
- Исходный код: physics/arcade/World.js (Строка 318)
- Исходный код: physics/arcade/World.js (Строка 134)
- Исходный код: physics/arcade/World.js (Строка 149)
- Исходный код: physics/arcade/World.js (Строка 518)
- Исходный код: physics/arcade/World.js (Строка 497)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
displayObject | любое | Объект отображения, который нужно переместить. | ||
x | число | Координата x, к которой нужно переместиться. | ||
y | число | Координата y, к которой нужно переместиться. | ||
speed | число | <необязательно> | 60 | Скорость перемещения в пикселях в секунду (по умолчанию 60 пикселей/сек). |
maxTime | число | <необязательно> | 0 | Время в миллисекундах (1000 = 1 секунда). Если задано, скорость корректируется так, чтобы объект прибыл в пункт назначения за указанное количество мс. |
Возвращаемое значение
Угол (в радианах), на который объект должен быть визуально установлен для соответствия его новой скорости.
overlap(object1, object2, overlapCallback, processCallback, callbackContext) → {boolean}
Проверяет перекрытие между двумя игровыми объектами. Объектами могут быть Sprites, группы или эмиттеры.
Вы можете выполнить проверку перекрытия Sprite vs. Sprite, Sprite vs. Group и Group vs. Group.
В отличие от collide, объекты НЕ автоматически разделяются или не имеют никаких физических эффектов, они просто проверяют результаты перекрытия.
Оба параметра могут быть массивами объектов разных типов.
Если переданы два массива, содержимое первого параметра будет проверено по отношению ко всему содержимому второго параметра.
ПРИМЕЧАНИЕ: эта функция не рекурсивна и не будет проверять потомков переданных объектов (т.е. группы внутри групп).
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
object1 | Phaser.Sprite | Phaser.Group | Phaser.Particles.Emitter | массив | Первый объект или массив объектов для проверки. Может быть Phaser.Sprite, Phaser.Group или Phaser.Particles.Emitter. | ||
object2 | Phaser.Sprite | Phaser.Group | Phaser.Particles.Emitter | массив | Второй объект или массив объектов для проверки. Может быть Phaser.Sprite, Phaser.Group или Phaser.Particles.Emitter. | ||
overlapCallback | функция | <необязательно> | null | Необязательная функция обратного вызова, которая вызывается, если объекты перекрываются. Два объекта будут переданы в эту функцию в том же порядке, в котором вы их указали, если вы не проверяете Group vs. Sprite, в этом случае Sprite всегда будет первым параметром. |
processCallback | функция | <необязательно> | null | Функция обратного вызова, которая позволяет выполнить дополнительные проверки по отношению к двум объектам, если они перекрываются. Если это задано, |
callbackContext | объект | <необязательно> | Контекст выполнения обратных вызовов. |
Возвращаемое значение
True, если перекрытие произошло, иначе false.
setBounds(x, y, width, height)
Обновляет размер этого физического мира.
Параметры
| Имя | Тип | Описание |
|---|---|---|
x | число | Верхний левый угол мира. |
y | число | Верхний левый угол мира. |
width | число | Новая ширина мира. Не может быть меньше Game.width. |
height | число | Новая высота мира. Не может быть меньше Game.height. |
setBoundsToWorld()
Обновляет размер этого физического мира, чтобы он соответствовал размеру игрового мира.
sort(group, sortDirection)
Этот метод отсортирует массив хешей группы.
Если в группе задан physicsSortDirection, он будет использовать заданное направление сортировки.
В противном случае, если параметр sortDirection не определен или Group.physicsSortDirection равен null, будет использовано значение Phaser.Physics.Arcade.sortDirection.
Изменяя Group.physicsSortDirection, можно настроить каждую группу на сортировку в другом порядке.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
group | Phaser.Group | Группа для сортировки. | |
sortDirection | целое число | <необязательно> | Направление сортировки, используемое для сортировки этой группы. |
sortBottomTop(a, b) → {integer}
Функция сортировки для сортировки двух объектов по направлению снизу вверх.
Вызывается автоматически методом World.sort
Параметры
| Имя | Тип | Описание |
|---|---|---|
a | Phaser.Sprite | Первый Sprite для проверки. Sprite должен иметь физическое тело Arcade. |
b | Phaser.Sprite | Второй Sprite для проверки. Sprite должен иметь физическое тело Arcade. |
Возвращаемое значение
Отрицательное значение, если a > b, положительное значение, если a < b, или 0, если a === b, или объекты недопустимы.
sortLeftRight(a, b) → {integer}
Функция сортировки для сортировки двух объектов по направлению слева направо.
Вызывается автоматически методом World.sort
Параметры
- Исходный код: physics/arcade/World.js (Строка 434)
- Исходный код: physics/arcade/World.js (Строка 455)
- Исходный код: physics/arcade/World.js (Строка 476)
- Исходный код: physics/arcade/World.js (Строка 240)
- Объект Point, где point.x содержит значение скорости по оси x, а point.y - по оси y.
- Исходный код: physics/arcade/World.js (Строка 1772)
- Объект Point, где point.x содержит значение скорости по оси x, а point.y - по оси y.
- Исходный код: physics/arcade/World.js (Строка 1791)
| Имя | Тип | Описание |
|---|---|---|
a | Phaser.Sprite | Первый спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
b | Phaser.Sprite | Второй спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
Возвращает
Отрицательное значение, если a > b, положительное значение, если a < b, или 0, если a === b, или тела невалидны.
sortRightLeft(a, b) → {целое число}
Функция сортировки для сортировки двух тел по направлению сортировки СПРАВА НАЛЕВО.
Вызывается автоматически методом World.sort
Параметры
| Имя | Тип | Описание |
|---|---|---|
a | Phaser.Sprite | Первый спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
b | Phaser.Sprite | Второй спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
Возвращает
Отрицательное значение, если a > b, положительное значение, если a < b, или 0, если a === b, или тела невалидны.
sortTopBottom(a, b) → {целое число}
Функция сортировки для сортировки двух тел по направлению сортировки СВЕРХУ ВНИЗ.
Вызывается автоматически методом World.sort
Параметры
| Имя | Тип | Описание |
|---|---|---|
a | Phaser.Sprite | Первый спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
b | Phaser.Sprite | Второй спрайт для проверки. Спрайт должен иметь физическое тело Arcade Physics. |
Возвращает
Отрицательное значение, если a > b, положительное значение, если a < b, или 0, если a === b, или тела невалидны.
updateMotion(The)
Вызывается автоматически физическим телом, обновляет все значения, связанные с движением, в теле, если World.isPaused не true.
Параметры
| Имя | Тип | Описание |
|---|---|---|
The | Phaser.Physics.Arcade.Body | Объект тела, который нужно обновить. |
velocityFromAngle(angle, speed, point) → {Phaser.Point}
Вычисляет скорость по углу (в градусах) и возвращает её как объект Point, или устанавливает её в заданный объект Point.
Один из способов использования: velocityFromAngle(angle, 200, sprite.velocity), который установит значения напрямую в скорость спрайта, а не создаст новый объект Point.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
angle | число | Угол в градусах, рассчитывается по часовой стрелке (вниз = 90 градусов положительно, вправо = 0 градусов положительно, вверх = 90 градусов отрицательно) | ||
speed | число | <опционально> | 60 | Скорость перемещения в пикселях в секунду. |
point | Phaser.Point | объект | <опционально> | Объект Point, в котором значения x и y будут установлены в вычисленную скорость. |
Возвращает
velocityFromRotation(rotation, speed, point) → {Phaser.Point}
Вычисляет скорость по углу (в радианах) и возвращает её как объект Point, или устанавливает её в заданный объект Point.
Один из способов использования: velocityFromRotation(rotation, 200, sprite.velocity), который установит значения напрямую в скорость спрайта, а не создаст новый объект Point.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
rotation | число | Угол в радианах. | ||
speed | число | <опционально> | 60 | Скорость перемещения в пикселях в секунду. |
point | Phaser.Point | объект | <опционально> | Объект Point, в котором значения x и y будут установлены в вычисленную скорость. |
Возвращает
worldAngleToPointer(displayObject, pointer) → {число}
Находит угол в радианах между объектом отображения (например, спрайтом) и указателем,
учитывая их координаты x/y и центр относительно мира.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
displayObject | любой | Объект отображения для проверки. | |
pointer | Phaser.Pointer | <опционально> | Указатель Phaser.Pointer для проверки. Если не указан, используется Input.activePointer. |
Возвращает
Угол в радианах между displayObject.world.x/y и Pointer.worldX / worldY
- Исходный код: physics/arcade/World.js (Строка 2099)
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Physics.Arcade.html