Spec-Zone.ru › Phaser

Класс: Phaser.Physics.P2

Конструктор

new P2(game, config)

Это основной доступ к физическому миру P2.
Отсюда вы можете создавать материалы, реагировать на события и добавлять тела в физическую симуляцию.

Параметры
Имя Тип Аргумент Описание
game Phaser.Game

Ссылка на текущую инстанцию игры.

config object <optional>

Объект конфигурации физики, переданный из конструктора игры.

Исходный код: physics/p2/World.js (Строка 20)

Классы

Тело
Отладка тела
Группа столкновений
Материал контакта
Ограничение расстояния
Список фикстур
Ограничение шестерни
Обратный прокси-пункт
Ограничение блокировки
Материал
Прокси-пункт
Ограничение призмы
Ограничение шарнира
Вращающаяся пружина
Пружина

Свойства

applyDamping : boolean

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

Исходный код: physics/p2/World.js (Строка 1919)

applyGravity : boolean

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

Исходный код: physics/p2/World.js (Строка 1939)

applySpringForces : boolean

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

Исходный код: physics/p2/World.js (Строка 1899)

boundsCollidesWith :array

Массив тел, с которыми сталкиваются границы мира.

Исходный код: physics/p2/World.js (Строка 232)

boundsCollisionGroup : Phaser.Physics.P2.CollisionGroup

Группа столкновений по умолчанию.

Исходный код: physics/p2/World.js (Строка 222)

callbackContext : Object

Контекст, в котором вызываются обратные вызовы.

Исходный код: physics/p2/World.js (Строка 170)

collisionGroups :array

Массив, содержащий группы столкновений, которые были определены в мире.

Исходный код: physics/p2/World.js (Строка 212)

<internal> config : Object

Объект конфигурации p2 World.

Внутреннее:
  • Этот член является внутренним (защищенным) и может быть изменён или удалён в будущем.
Исходный код: physics/p2/World.js (Строка 48)

contactMaterial :p2.ContactMaterial

Стандартный материал столкновения, используемый миром.

Исходный код: physics/p2/World.js (Строка 1879)

emitImpactEvent : boolean

Установите в значение true, если вы хотите, чтобы мир генерировал событие "impact". Отключение может повысить производительность.

Исходный код: physics/p2/World.js (Строка 1994)

everythingCollisionGroup : Phaser.Physics.P2.CollisionGroup

Группа столкновений по умолчанию.

Исходный код: physics/p2/World.js (Строка 227)

frameRate : number

Частота кадров, с которой будет выполняться шаг мира. По умолчанию 1/60, но вы можете изменить это значение. Также см. свойство useElapsedTime.

Исходный код: physics/p2/World.js (Строка 60)

friction : number

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

Исходный код: physics/p2/World.js (Строка 1839)

game : Phaser.Game

Локальная ссылка на игру.

Исходный код: physics/p2/World.js (Строка 25)

gravity : Phaser.Physics.P2.InversePointProxy

Сила тяжести, применяемая к всем телам на каждом шаге.

Исходный код: physics/p2/World.js (Строка 83)

<internal> materials :array.<Phaser.Physics.P2.Material>

Локальный массив всех созданных материалов.

Тип
  • array.<Phaser.Physics.P2.Material>
Внутреннее:
  • Этот член является внутренним (защищенным) и может быть изменён или удалён в будущем.
Исходный код: physics/p2/World.js (Строка 78)

nothingCollisionGroup : Phaser.Physics.P2.CollisionGroup

Группа столкновений по умолчанию.

Исходный код: physics/p2/World.js (Строка 217)

onBeginContact : Phaser.Signal

Этот сигнал отправляется при создании первого контакта между двумя телами. Это происходит до выполнения шага.

Он отправляет 5 аргументов: bodyA, bodyB, shapeA, shapeB и contactEquations.

Возможны ситуации, когда значения bodyA или bodyB равны null. Вы должны проверять это
в своём коде, чтобы избежать обработки потенциально нулевых физических тел.

Исходный код: physics/p2/World.js (Строка 182)

onBodyAdded : Phaser.Signal

Этот сигнал отправляется при добавлении нового тела в мир.

Он отправляет 1 аргумент: body , который является Phaser.Physics.P2.Body , добавленным в мир.

Исходный код: physics/p2/World.js (Строка 97)

onBodyRemoved : Phaser.Signal

Этот сигнал отправляется при удалении тела из мира.

Он отправляет 1 аргумент: body , который является Phaser.Physics.P2.Body, удалённым из мира.

Исходный код: physics/p2/World.js (Строка 106)

onConstraintAdded : Phaser.Signal

Этот сигнал отправляется при добавлении ограничения в мир.

Он отправляет 1 аргумент: constraint , который является Phaser.Physics.P2.Constraint, добавленным в мир.

Исходный код: physics/p2/World.js (Строка 133)

onConstraintRemoved : Phaser.Signal

Данное событие срабатывает при удалении связи (Constraint) из мира.

Передается 1 аргумент: constraint, который представляет собой Phaser.Physics.P2.Constraint, удаленную из мира.

Исходный код: physics/p2/World.js (Строка 142)

onContactMaterialAdded : Phaser.Signal

Это событие срабатывает при добавлении материала взаимодействия (Contact Material) в мир.

Передается 1 аргумент: material, который представляет собой Phaser.Physics.P2.ContactMaterial добавленный в мир.

Исходный код: physics/p2/World.js (Строка 151)

onContactMaterialRemoved : Phaser.Signal

Это событие срабатывает при удалении материала взаимодействия (Contact Material) из мира.

Передается 1 аргумент: material, который представляет собой Phaser.Physics.P2.ContactMaterial удаленный из мира.

Исходный код: physics/p2/World.js (Строка 160)

onEndContact : Phaser.Signal

Это событие срабатывает при окончании контакта между двумя телами. Это происходит *до* выполнения шага симуляции.

Передается 4 аргумента: bodyA, bodyB, shapeA и shapeB.

Возможны ситуации, когда значения bodyA или bodyB могут быть null. Проверьте это в своем коде, чтобы избежать обработки потенциально пустых физических тел.

Исходный код: physics/p2/World.js (Строка 194)

onSpringAdded : Phaser.Signal

Это событие срабатывает при добавлении пружины (Spring) в мир.

Передается 1 аргумент: spring, который может быть Phaser.Physics.P2.Spring, p2.LinearSpring или p2.RotationalSpring, добавленной в мир.

Исходный код: physics/p2/World.js (Строка 115)

onSpringRemoved : Phaser.Signal

Это событие срабатывает при удалении пружины (Spring) из мира.

Передается 1 аргумент: spring, который может быть Phaser.Physics.P2.Spring, p2.LinearSpring или p2.RotationalSpring, удаленной из мира.

Исходный код: physics/p2/World.js (Строка 124)

paused : boolean

Состояние приостановки физического мира P2.

Исходный код: physics/p2/World.js (Строка 72)

postBroadphaseCallback : Function

Обратный вызов postBroadphase.

Исходный код: physics/p2/World.js (Строка 165)

restitution : number

Коэффициент восстановления по умолчанию при столкновении тел. Это значение используется, если соответствующий ContactMaterial не найден для пары материалов.

Исходный код: physics/p2/World.js (Строка 1859)

sleepMode : number

Режим отключения тел во время симуляции. Возможные режимы: World.NO_SLEEPING, World.BODY_SLEEPING и World.ISLAND_SLEEPING.
Если отключение тел включено, вам может потребоваться их активировать, если они перешли в состояние покоя в неподходящий момент. Если вы хотите включить отключение тел в мире, но отключить его для определенного тела, см. Body.allowSleep.

Исходный код: physics/p2/World.js (Строка 2014)

solveConstraints : boolean

Включить/выключить решение ограничений на каждом шаге.

Исходный код: physics/p2/World.js (Строка 1959)

[readonly] time : boolean

Время мира.

Исходный код: physics/p2/World.js (Строка 1979)

[readonly] total : number

Общее количество тел в мире.

Исходный код: physics/p2/World.js (Строка 2036)

useElapsedTime : boolean

Если true, значение frameRate игнорируется, и вместо этого p2 будет выполнять шаг с использованием значения Game.Time.physicsElapsed, которое представляет собой значение дельта-времени.

Исходный код: physics/p2/World.js (Строка 66)

walls : Object

Объект, содержащий 4 стенных тела, ограничивающие физический мир.

Исходный код: physics/p2/World.js (Строка 88)

<internal> world :p2.World

Физический мир p2, в котором выполняется симуляция.

Внутреннее:
  • Этот член является *внутренним (защищенным)* и может быть изменен или удален в будущем.
Исходный код: physics/p2/World.js (Строка 54)

Открытые методы

addBody(body) → {boolean}

Добавляет тело в мир.

Parameters
Name Type Описание
body Phaser.Physics.P2.Body

Тело для добавления в мир.

Returns
boolean -

True, если тело было успешно добавлено, иначе false.

Source code: physics/p2/World.js (Line 887)

addConstraint(constraint) → {Phaser.Physics.P2.Constraint}

Добавляет ограничение в мир.

Parameters
Name Type Описание
constraint Phaser.Physics.P2.Constraint

Ограничение для добавления в мир.

Returns
Phaser.Physics.P2.Constraint -

Добавленное ограничение.

Source code: physics/p2/World.js (Line 1119)

addContactMaterial(material) → {Phaser.Physics.P2.ContactMaterial}

Добавляет материал соприкосновения в мир.

Parameters
Name Type Описание
material Phaser.Physics.P2.ContactMaterial

Материал соприкосновения, который нужно добавить в мир.

Returns
Phaser.Physics.P2.ContactMaterial -

Материал соприкосновения, который был добавлен.

Source code: physics/p2/World.js (Line 1153)

addSpring(spring) → {Phaser.Physics.P2.Spring}

Добавляет пружину в мир.

Parameters
Name Type Описание
spring Phaser.Physics.P2.Spring | p2.LinearSpring | p2.RotationalSpring

Пружина для добавления в мир.

Returns
Phaser.Physics.P2.Spring -

Добавленная пружина.

Source code: physics/p2/World.js (Line 931)

beginContactHandler(event)

Обрабатывает событие начала контакта p2.

Parameters
Name Type Описание
event object

Данные события.

Source code: physics/p2/World.js (Line 502)

clear()

Очищает все тела из симуляции, сбрасывает обратные вызовы и сбрасывает маску столкновений.

Мир P2 также очищается:

  • Удаляет все уравнения решателя
  • Удаляет все ограничения
  • Удаляет все тела
  • Удаляет все пружины
  • Удаляет все материалы соприкосновения

Это вызывается автоматически при переключении состояния.

Source code: physics/p2/World.js (Line 800)

clearTilemapLayerBodies(map, layer)

Очищает все физические тела из заданного TilemapLayer, созданные с помощью World.convertTilemap.

Parameters
Name Type Argument Описание
map Phaser.Tilemap

Tilemap для получения данных карты.

layer number | string | Phaser.TilemapLayer <optional>

Слой для обработки. Если не указан, будет использоваться map.currentLayer.

Source code: physics/p2/World.js (Line 1666)

convertCollisionObjects(map, layer, addToWorld) → {array}

Преобразует все объекты полилиний в группе объектов Tiled в физические тела, которые добавляются в мир.
Обратите внимание, что полилинии должны быть созданы таким образом, чтобы выдерживать разложение многоугольников.

Parameters
Name Type Argument Default Описание
map Phaser.Tilemap

Tilemap для получения данных карты.

layer number | string | Phaser.TilemapLayer <optional>

Слой для обработки. Если не указан, будет использоваться map.currentLayer.

addToWorld boolean <optional>
true

Если true, каждое тело будет автоматически добавлено в мир.

Returns
array -

Массив объектов Phaser.Physics.Body, которые были созданы.

Source code: physics/p2/World.js (Line 1625)

convertTilemap(map, layer, addToWorld, optimize) → {array}

Проходит по всем тайлам в заданном Tilemap и TilemapLayer и преобразует те, которые настроены на столкновение, в физические тела.
Вызывайте эту функцию после того, как вы указали все тайлы, с которыми должны происходить столкновения, с помощью методов типа Tilemap.setCollisionBetween и т. д.
Каждый раз при вызове этого метода любые ранее созданные тела будут уничтожены и удалены из мира.
Поэтому понимайте, что это очень дорогостоящая операция и не должна выполняться в основном цикле обновления игры.

Parameters
END_OF_DOCUMENT_MARKER
Имя Тип Аргумент Значение по умолчанию Описание
map Phaser.Tilemap

Карта тайлов, из которой нужно получить данные.

layer число | строка | Phaser.TilemapLayer <дополнительный>

Слой, над которым нужно произвести операцию. Если не указан, по умолчанию используется map.currentLayer.

addToWorld логическое <дополнительный>
true

Если true, каждый объект тела автоматически добавится в мир. Иначе вы должны добавить их самостоятельно.

optimize логическое <дополнительный>
true

Если true, смежные столкновения тайлов будут объединены в одно тело для экономии ресурсов. Однако это значит, что вы не сможете выполнять отдельные ответы на столкновения тайл-тела.

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

Массив объектов Phaser.Physics.P2.Body, которые были созданы.

Исходный код: physics/p2/World.js (Строка 1688)

createBody(x, y, mass, addToWorld, options, points) → {Phaser.Physics.P2.Body}

Создаёт новое тело и добавляет его в мир.

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

Координата x тела.

y число

Координата y тела.

mass число

Масса тела. Масса 0 означает статическое тело.

addToWorld логическое <дополнительный>
false

Автоматически добавить это тело в мир? (обычно false, так как на этапе создания у него нет фигур).

options объект

Объект с параметрами построения:

Свойства
Имя Тип Аргумент Значение по умолчанию Описание
optimalDecomp логическое <дополнительный>
false

Установите в true, если вам нужна оптимальная декомпозиция. Внимание: очень медленно для полигонов более чем с 10 вершинами.

skipSimpleCheck логическое <дополнительный>
false

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

removeCollinearPoints логическое | число <дополнительный>
false

Установите в число (значение порога угла) для удаления коллинеарных точек или false для сохранения всех точек.

points Массив.<число> | число

Массив 2D векторов, образующих выпуклый или вогнутый многоугольник.
Либо [[0,0], [0,1],...] или плоский массив чисел, которые будут интерпретированы как [x,y, x,y, ...],
или аргументы могут быть плоскими значениями x,y, например, setPolygon(options, x,y, x,y, x,y, ...), где x и y - числа.

Возвращаемое значение
Phaser.Physics.P2.Body -

Тело

Исходный код: physics/p2/World.js (Строка 1542)

createCollisionGroup(object)

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

Параметры
Имя Тип Аргумент Описание
object Phaser.Group | Phaser.Sprite <дополнительный>

Необязательный объект Sprite или Group, к которому применяется группа столкновений. Если задана Group, она будет применена ко всем дочерним элементам верхнего уровня.

Исходный код: physics/p2/World.js (Строка 1411)

createContactMaterial(materialA, materialB, options) → {Phaser.Physics.P2.ContactMaterial}

Создаёт Contact Material из двух заданных материалов. Затем вы можете напрямую редактировать свойства Contact Material.

Параметры
Имя Тип Аргумент Описание
materialA Phaser.Physics.P2.Material <дополнительный>

Первый материал для создания ContactMaterial. Если undefined, сначала создастся новый объект Material.

materialB Phaser.Physics.P2.Material <дополнительный>

Второй материал для создания ContactMaterial. Если undefined, сначала создастся новый объект Material.

options объект <дополнительный>

Объект параметров материала.

Возвращаемое значение
Phaser.Physics.P2.ContactMaterial -

Созданный Contact Material.

Исходный код: physics/p2/World.js (Строка 1246)

createDistanceConstraint(bodyA, bodyB, distance, localAnchorA, localAnchorB, maxForce) → {Phaser.Physics.P2.DistanceConstraint}

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

Параметры
Имя Тип Аргумент Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первый соединённый объект.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второй соединённый объект.

distance number

Расстояние, которое должно быть между объектами.

localAnchorA Array <optional>

Точка привязки для объекта A, определённая локально в системе координат объекта A. По умолчанию [0,0].

localAnchorB Array <optional>

Точка привязки для объекта B, определённая локально в системе координат объекта B. По умолчанию [0,0].

maxForce number <optional>

Максимальная сила, которая должна быть применена для ограничения объектов.

Возвращаемое значение
Phaser.Physics.P2.DistanceConstraint -

Ограничение

Исходный код: physics/p2/World.js (Строка 979)

createGearConstraint(bodyA, bodyB, angle, ratio) → {Phaser.Physics.P2.GearConstraint}

Создаёт ограничение, которое пытается поддерживать постоянное расстояние между двумя объектами.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первый соединённый объект.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второй соединённый объект.

angle number <optional>
0

Относительный угол

ratio number <optional>
1

Коэффициент передачи.

Возвращаемое значение
Phaser.Physics.P2.GearConstraint -

Ограничение

Исходный код: physics/p2/World.js (Строка 1007)

createLockConstraint(bodyA, bodyB, offset, angle, maxForce) → {Phaser.Physics.P2.LockConstraint}

Фиксирует относительное положение между двумя объектами.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первый соединённый объект.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второй соединённый объект.

offset Array <optional>

Смещение объекта B в системе координат объекта A. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

angle number <optional>
0

Угол объекта B в системе координат объекта A.

maxForce number <optional>

Максимальная сила, которая должна быть применена для ограничения объектов.

Возвращаемое значение
Phaser.Physics.P2.LockConstraint -

Ограничение

Исходный код: physics/p2/World.js (Строка 1062)

createMaterial(name, body) → {Phaser.Physics.P2.Material}

Создаёт Материал. Материалы применяются к формам, принадлежащим объекту, и могут быть установлены с помощью Body.setMaterial().
Материалы — способ управления тем, что происходит при столкновении фигур. Объедините уникальные материалы вместе, чтобы создать Материалы столкновения.
Материалы столкновения имеют свойства, такие как трение и восстановление, которые позволяют для точного контроля столкновения между разными Материалами.

Параметры
Имя Тип Аргумент Описание
name string <optional>

Необязательное имя Материала. Каждый Материал имеет уникальный идентификатор, но строковые имена удобны для отладки.

body Phaser.Physics.P2.Body <optional>

Необязательный Объект. Если он задан, он назначит вновь созданный Материал формам Объекта.

Возвращаемое значение
Phaser.Physics.P2.Material -

Созданный Материал. Он также хранится в Phaser.Physics.P2.materials.

Исходный код: physics/p2/World.js (Строка 1219)

createParticle(x, y, mass, addToWorld, options, points)

Создаёт новую Частицу и добавляет её в Мир.

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

Координата x тела.

y число

Координата y тела.

mass число

Масса тела. Масса 0 означает создание «статичного» тела.

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

Автоматически добавить это тело в мир? (обычно false, так как при создании не будет форм).

options объект

Объект, содержащий параметры построения:

Свойства
Имя Тип Аргумент Значение по умолчанию Описание
optimalDecomp логическое <необязательно>
false

Установите в true, если вам нужна оптимальная декомпозиция. Предупреждение: очень медленно для многоугольников с более чем 10 вершинами.

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

Установите в true, если вы уже знаете, что путь не пересекается с собой.

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

Установите значение (пороговое значение угла) для удаления коллинеарных точек или false, чтобы сохранить все точки.

points Массив.<число> | число

Массив 2D-векторов, образующих выпуклый или вогнутый многоугольник.
Либо [[0,0], [0,1],...] или плоский массив чисел, который будет интерпретирован как [x,y, x,y, ...],
или аргументы могут быть плоскими значениями x,y, например setPolygon(options, x,y, x,y, x,y, ...), где x и y — числа.

Исходный код: physics/p2/World.js (Строка 1584)

createPrismaticConstraint(bodyA, bodyB, lockRotation, anchorA, anchorB, axis, maxForce) → {Phaser.Physics.P2.PrismaticConstraint}

Ограничение, которое позволяет телам перемещаться только вдоль линии относительно друг друга.
См. http://www.iforce2d.net/b2dtut/joints-prismatic

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первое связанное тело.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второе связанное тело.

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

Если установлено в false, тело B будет свободно вращаться вокруг своей точки привязки.

anchorA Массив <необязательно>

Точка привязки тела A, определенная в его собственной локальной системе координат. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

anchorB Массив <необязательно>

Точка привязки тела A, определенная в его собственной локальной системе координат. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

axis Массив <необязательно>

Ось, определенная в системе координат тела A, вдоль которой точка привязки тела B может перемещаться. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

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

Максимальная сила, которая должна быть применена для ограничения тел.

Возвращаемое значение
Phaser.Physics.P2.PrismaticConstraint -

Ограничение

Исходный код: physics/p2/World.js (Строка 1089)

createRevoluteConstraint(bodyA, pivotA, bodyB, pivotB, maxForce, worldPivot) → {Phaser.Physics.P2.RevoluteConstraint}

Соединяет два тела в заданных точках смещения, позволяя им вращаться относительно друг друга вокруг этой точки.
Точки привязки заданы в мировых (пиксельных) координатах.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первое связанное тело.

pivotA Массив

Точка относительно центра масс тела A, к которой тело A привязано. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второе связанное тело.

pivotB Массив

Точка относительно центра масс тела B, к которой тело B привязано. Значение — массив из 2 элементов, соответствующих x и y, например: [32, 32].

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

Максимальная сила, которая должна быть применена для ограничения тел.

worldPivot Float32Array <необязательно>
null

Точка привязки, заданная в мировых координатах. Если указано, localPivotA и localPivotB автоматически вычисляются из этого значения.

Возвращаемое значение
Phaser.Physics.P2.RevoluteConstraint -

Ограничение

Исходный код: physics/p2/World.js (Строка 1033)

createRotationalSpring(bodyA, bodyB, restAngle, stiffness, damping) → {Phaser.Physics.P2.RotationalSpring}

Создаёт вращательную пружину, соединяющую два тела. Пружина может иметь длину покоя, жёсткость и затухание.

Параметры
Имя Тип Аргумент По умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первое соединённое тело.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второе соединённое тело.

restAngle number <необязательно>

Относительный угол тел, при котором пружина находится в состоянии покоя. Если не указан, устанавливается текущий относительный угол между телами.

stiffness number <необязательно>
100

Жёсткость пружины. Число ≥ 0.

damping number <необязательно>
1

Затухание пружины. Число ≥ 0.

Возвращаемое значение
Phaser.Physics.P2.RotationalSpring -

Пружина

Исходный код: physics/p2/World.js (Строка 1515)

createSpring(bodyA, bodyB, restLength, stiffness, damping, worldA, worldB, localA, localB) → {Phaser.Physics.P2.Spring}

Создаёт линейную пружину, соединяющую два тела. Пружина может иметь длину покоя, жёсткость и затухание.

Параметры
Имя Тип Аргумент По умолчанию Описание
bodyA Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Первое соединённое тело.

bodyB Phaser.Sprite | Phaser.Physics.P2.Body | p2.Body

Второе соединённое тело.

restLength number <необязательно>
1

Длина покоя пружины. Число > 0.

stiffness number <необязательно>
100

Жёсткость пружины. Число ≥ 0.

damping number <необязательно>
1

Затухание пружины. Число ≥ 0.

worldA Array <необязательно>

Место крепления пружины к телу A в мировых координатах. Это значение представляет собой массив из 2 элементов, x и y, например: [32, 32].

worldB Array <необязательно>

Место крепления пружины к телу B в мировых координатах. Это значение представляет собой массив из 2 элементов, x и y, например: [32, 32].

localA Array <необязательно>

Место крепления пружины к телу A в локальных координатах тела. Это значение представляет собой массив из 2 элементов, x и y, например: [32, 32].

localB Array <необязательно>

Место крепления пружины к телу B в локальных координатах тела. Это значение представляет собой массив из 2 элементов, x и y, например: [32, 32].

Возвращаемое значение
Phaser.Physics.P2.Spring -

Пружина

Исходный код: physics/p2/World.js (Строка 1484)

destroy()

Очищает все тела из симуляции и разрывает связь World с Game. Должна вызываться только при завершении игры. Вызывать clear при смене состояния.

Исходный код: physics/p2/World.js (Строка 874)

enable(object, debug, children)

Это создаст физическое тело P2 для заданного объекта игры или массива объектов игры.
Объект игры может иметь только 1 активное физическое тело в любой момент времени, и его нельзя изменить, пока объект не будет уничтожен.
Примечание: Когда объект игры активируется для физики P2, его якорь x/y устанавливается в 0,5, чтобы он стал центрированным.

Параметры
Имя Тип Аргумент По умолчанию Описание
object object | array | Phaser.Group

Объект игры, на котором создать физическое тело. Также может быть массивом или группой объектов, тело будет создано для каждого дочернего объекта, у которого есть свойство body.

debug boolean <необязательно>
false

Создать отладочный объект для данного тела?

children boolean <необязательно>
true

Создать тело для всех дочерних объектов данного объекта? Если true, это будет рекурсивно выполняться вниз по списку отображения до тех пор, пока это возможно.

Исходный код: physics/p2/World.js (Строка 313)

enableBody(object, debug)

Создаёт физическое тело P2 для заданного объекта игры.
Объект игры может иметь только 1 активное физическое тело в любой момент времени, и его нельзя изменить, пока тело не будет обнулено.

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

Объект игры, на котором создать физическое тело. Тело будет создано только если у этого объекта свойство body имеет значение null.

debug boolean

Создать отладочный объект для данного тела?

Исходный код: physics/p2/World.js (Строка 372)

endContactHandler(event)

Обрабатывает событие окончания контакта p2.

Параметры
Имя Тип Описание
event объект

Данные события.

Исходный код: physics/p2/World.js (Строка 527)

getBodies() → {массив.<Phaser.Physics.P2.Body>}

Заполняет и возвращает массив с ссылками на все текущие объекты тела в мире.

Возвращает
массив.<Phaser.Physics.P2.Body> -

Массив, содержащий все текущие объекты тела в мире.

Исходный код: physics/p2/World.js (Строка 1266)

getBody(объект) → {p2.Body}

Проверяет заданный объект на наличие p2.Body и, если он есть, возвращает его.

Параметры
Имя Тип Описание
object объект

Объект, на котором нужно проверить наличие p2.Body.

Возвращает
p2.Body -

Объект p2.Body или null, если не найден.

Исходный код: physics/p2/World.js (Строка 1286)

getConstraints() → {массив.<Phaser.Physics.P2.Constraint>}

Заполняет и возвращает массив всех текущих ограничений в мире.
Вы получите массив p2 ограничений. Он может содержать различные типы, например, PrismaticConstraints, RevoluteConstraints или любой другой допустимый тип p2 ограничения.

Возвращает
массив.<Phaser.Physics.P2.Constraint> -

Массив, содержащий все текущие ограничения в мире.

Исходный код: physics/p2/World.js (Строка 1335)

getContactMaterial(materialA, materialB) → {Phaser.Physics.P2.ContactMaterial | boolean}

Получает материал контакта на основе двух заданных материалов.

Параметры
Имя Тип Описание
materialA Phaser.Physics.P2.Material

Первый материал для поиска.

materialB Phaser.Physics.P2.Material

Второй материал для поиска.

Возвращает
Phaser.Physics.P2.ContactMaterial | boolean -

Материал контакта или false, если не было найдено соответствующего материала.

Исходный код: physics/p2/World.js (Строка 1187)

getSprings() → {массив.<Phaser.Physics.P2.Spring>}

Заполняет и возвращает массив всех текущих пружин в мире.

Возвращает
массив.<Phaser.Physics.P2.Spring> -

Массив, содержащий все текущие пружины в мире.

Исходный код: physics/p2/World.js (Строка 1315)

hitTest(worldPoint, bodies, precision, filterStatic) → {Массив}

Проверяет, перекрывает ли точка в мире тела. Вы получите массив фактических тел P2. Вы можете узнать, к какому спрайту принадлежит тело (если есть) путем проверки свойства Body.parent.sprite. Body.parent — свойство Phaser.Physics.P2.Body.

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

Точка, используемая для тестов пересечения. Значения точек должны быть в мировых (пиксельных) координатах.

bodies Массив.<(Phaser.Physics.P2.Body | Phaser.Sprite | p2.Body)> <необязательно>

Список объектов для проверки пересечения. Если не указано, будет проверено Phaser.Physics.P2.world.bodies (т.е. все тела мира).

precision число <необязательно>
5

Используется для сопоставления с частицами и линиями. Добавляет некоторый отступ к этим бесконечно малым объектам.

filterStatic boolean <необязательно>
false

Если true, все статические объекты будут удалены из массива результатов.

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

Массив тел, которые перекрывают точку.

Исходный код: physics/p2/World.js (Строка 1357)

mpx(v) → {число}

Преобразует физическое значение p2 (метры) в масштаб пикселей.
По умолчанию Phaser использует масштаб 20 пикселей на метр.
Если вам нужно это изменить, вы можете переопределить эти функции через объект конфигурации физики.

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

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

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

Масштабированное значение.

Исходный код: physics/p2/World.js (Строка 1777)

mpxi(v) → {число}

Преобразует физическое значение p2 (метры) в масштаб пикселей и инвертирует его.
По умолчанию Phaser использует масштаб 20 пикселей на метр.
Если вам нужно это изменить, вы можете переопределить эти функции через объект конфигурации физики.

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

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

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

Масштабированное значение.

Исходный код: physics/p2/World.js (Строка 1807)

pause()

Приостанавливает мир P2 независимо от состояния паузы игры.

Source code: physics/p2/World.js (Line 733)

preUpdate()

Вызывается в начале цикла обновления ядра. Удаляет помеченные тела из мира.

Source code: physics/p2/World.js (Line 295)

pxm(v) → {number}

Преобразовать значение пикселей в масштаб физики p2 (метры).
По умолчанию Phaser использует масштаб 20 пикселей на метр.
Если вам нужно это изменить, вы можете переопределить эти функции через объект конфигурации физики.

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

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

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

Масштабированное значение.

Source code: physics/p2/World.js (Line 1792)

pxmi(v) → {number}

Преобразовать значение пикселей в масштаб физики p2 (метры) и инвертировать его.
По умолчанию Phaser использует масштаб 20 пикселей на метр.
Если вам нужно это изменить, вы можете переопределить эти функции через объект конфигурации физики.

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

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

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

Масштабированное значение.

Source code: physics/p2/World.js (Line 1822)

removeBody(body) → {Phaser.Physics.P2.Body}

Удаляет тело из мира. Это произойдет без ошибок, если тело не было частью мира изначально.

Параметры
Имя Тип Описание
body Phaser.Physics.P2.Body

Тело для удаления из мира.

Возвращаемое значение
Phaser.Physics.P2.Body -

Тело, которое было удалено.

Source code: physics/p2/World.js (Line 911)

removeBodyNextStep(body)

Это добавит тело физики P2 в список удаления для следующего шага.

Параметры
Имя Тип Описание
body Phaser.Physics.P2.Body

Тело, которое нужно удалить в начале следующего шага.

Source code: physics/p2/World.js (Line 283)

removeConstraint(constraint) → {Phaser.Physics.P2.Constraint}

Удаляет ограничение из мира.

Параметры
Имя Тип Описание
constraint Phaser.Physics.P2.Constraint

Ограничение для удаления из мира.

Возвращаемое значение
Phaser.Physics.P2.Constraint -

Ограничение, которое было удалено.

Source code: physics/p2/World.js (Line 1136)

removeContactMaterial(material) → {Phaser.Physics.P2.ContactMaterial}

Удаляет материал контакта из мира.

Параметры
Имя Тип Описание
material Phaser.Physics.P2.ContactMaterial

Материал контакта для удаления из мира.

Возвращаемое значение
Phaser.Physics.P2.ContactMaterial -

Материал контакта, который был удален.

Source code: physics/p2/World.js (Line 1170)

removeSpring(spring) → {Phaser.Physics.P2.Spring}

Удаляет пружину из мира.

Параметры
Имя Тип Описание
spring Phaser.Physics.P2.Spring

Пружину для удаления из мира.

Возвращаемое значение
Phaser.Physics.P2.Spring -

Пружина, которая была удалена.

Source code: physics/p2/World.js (Line 955)

reset()

Вызывается Phaser.Physics при смене состояния.
Запускает слушателей контакта begin и end снова.

Source code: physics/p2/World.js (Line 779)

resume()

Возобновляет приостановленный мир P2.

Source code: physics/p2/World.js (Line 744)

setBounds(x, y, width, height, left, right, top, bottom, setCollisionGroup)

Устанавливает границы физического мира, чтобы соответствовать заданным пиксельным размерам мира.
Вы можете по желанию указать, какие «стены» создать: слева, справа, сверху или снизу.
Если ни одна из стен не указана, по умолчанию используются настройки стен, которые были ранее.
То есть, если вы ранее сказали, что у него нет левой или правой стен, и вы затем измените размер мира,
новые созданные границы также не будут иметь левых и правых стен.
Явно укажите их в параметрах, чтобы переопределить это.

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

Координата x левого верхнего угла области.

y число

Координата y левого верхнего угла области.

width число

Ширина области.

height число

Высота области.

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

Если true, создаст стену левой границы.

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

Если true, создаст стену правой границы.

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

Если true, создаст стену верхней границы.

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

Если true, создаст стену нижней границы.

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

Если true, область будет использовать свою собственную группу столкновений.

Исходный код: physics/p2/World.js (Строка 646)

setImpactEvents(state)

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

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

Установите в true, чтобы включить события столкновения, или false, чтобы отключить.

Исходный код: physics/p2/World.js (Строка 393)

setMaterial(material, bodies)

Устанавливает заданный Материал для всех Фигур, принадлежащих всем Телам в заданном массиве.

Параметры
Имя Тип Описание
material Phaser.Physics.P2.Material

Материал, который будет применён к заданным Телам.

bodies массив.<Phaser.Physics.P2.Body>

Массив объектов Body, на которых будет установлен заданный Материал.

Исходный код: physics/p2/World.js (Строка 1201)

setPostBroadphaseCallback(callback, context)

Устанавливает обратный вызов, который будет вызван после того, как Broadphase соберет пары столкновений в мире.
Просто потому, что пара существует, это не значит, что они будут сталкиваться, только то, что они потенциально могут.
Если ваш обратный вызов возвращает false , пара будет удалена из narrowphase. Это остановит проверку столкновений в этот шаг.
Возвращение true из обратного вызова гарантирует, что они будут проверены в narrowphase.

Параметры
Имя Тип Описание
callback функция

Обратный вызов, который получит данные события postBroadphase. Он должен возвращать boolean. Установите в null, чтобы отключить существующий обратный вызов.

context объект

Контекст, в котором будет вызван обратный вызов.

Исходный код: physics/p2/World.js (Строка 413)

toJSON() → {object}

Преобразует текущий мир в объект JSON.

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

Представление мира в формате JSON.

Исходный код: physics/p2/World.js (Строка 1399)

update()

Внутренний цикл обновления P2.

Исходный код: physics/p2/World.js (Строка 755)

updateBoundsCollisionGroup(setCollisionGroup)

По умолчанию Мир будет устанавливать столкновение всего со всем. Границы мира — это Тело с 4 фигурами, по одной на каждую грань.
Если вы начнете использовать свои собственные группы столкновений, ваши объекты больше не будут сталкиваться с границами.
Чтобы это исправить, необходимо сначала настроить границы, чтобы они использовали свою собственную группу столкновений, *ДО* изменения группы столкновений ваших Sprites.

Параметры
Имя Тип Аргумент По умолчанию Описание
setCollisionGroup логическое <необязательно>
true

Если true, границы будут использовать собственную группу столкновений.

Исходный код: physics/p2/World.js (Строка 608)

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

Spec-Zone.ru

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