Класс: Phaser.Physics.P2.Body
Конструктор
new Body(game, sprite, x, y, mass)
Физическое тело, как правило, привязано к одному спрайту и определяет свойства, которые влияют на симуляцию физического тела.
Эти свойства влияют на то, как тело реагирует на силы, какие силы оно генерирует на себя (для имитации трения) и как реагирует на столкновения в сцене.
В большинстве случаев, свойства используются для моделирования физических эффектов. Каждое тело также имеет свои собственные значения свойств, которые определяют, как оно реагирует на силы и столкновения в сцене.
По умолчанию к телу добавляется одна прямоугольная форма, соответствующая размерам родительского спрайта. Используйте addShape, removeShape, clearShapes для добавления дополнительных форм вокруг тела.
Примечание: для предотвращения мерцания на мобильных устройствах при привязке к спрайту настоятельно рекомендуется использовать размеры спрайта, которые являются чётными по обеим осям, например, 128x128, а не 127x127.
Примечание: когда объекту игры присваивается физическое тело P2, его якорь x/y устанавливается в 0.5, что центрирует его.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
game | Phaser.Game | Ссылка на текущую игру. | ||
sprite | Phaser.Sprite | <optional> | Объект Sprite, к которому принадлежит это физическое тело. | |
x | number | <optional> | 0 | Координата x этого тела. |
y | number | <optional> | 0 | Координата y этого тела. |
mass | number | <optional> | 1 | Масса этого тела по умолчанию (0 = статическое). |
- Исходный код: physics/p2/Body.js (Строка 23)
Общедоступные свойства
- Source code: physics/p2/Body.js (Line 1498)
- Source code: physics/p2/Body.js (Line 1514)
- Source code: physics/p2/Body.js (Line 1506)
- Source code: physics/p2/Body.js (Line 1603)
- Source code: physics/p2/Body.js (Line 1626)
- Source code: physics/p2/Body.js (Line 1650)
- Source code: physics/p2/Body.js (Line 1671)
- Source code: physics/p2/Body.js (Line 1691)
- Source code: physics/p2/Body.js (Line 112)
- Source code: physics/p2/Body.js (Line 1949)
- Source code: physics/p2/Body.js (Line 1711)
- Internal:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Source code: physics/p2/Body.js (Line 59)
- Source code: physics/p2/Body.js (Line 1920)
- Source code: physics/p2/Body.js (Line 122)
- Source code: physics/p2/Body.js (Line 127)
- Source code: physics/p2/Body.js (Line 1545)
- Source code: physics/p2/Body.js (Line 1732)
- Source code: physics/p2/Body.js (Line 71)
- Source code: physics/p2/Body.js (Line 33)
- Source code: physics/p2/Body.js (Line 76)
- Source code: physics/p2/Body.js (Line 1905)
<static> DYNAMIC : number
Динамическое тело. Динамические тела могут двигаться и реагировать на столкновения и силы.
<static> KINEMATIC : number
Кинематическое тело. Кинематические тела движутся только в соответствии со своей .velocity и не реагируют на столкновения или силу.
<static> STATIC : number
Статическое тело. Статические тела не двигаются и не реагируют на силы или столкновения.
allowSleep : boolean
-
angle : number
Угол тела в градусах от его исходной ориентации. Значения от 0 до 180 представляют вращение по часовой стрелке; значения от 0 до -180 представляют вращение против часовой стрелки.
Значения за пределами этого диапазона добавляются или вычитаются из 360 для получения значения в пределах диапазона. Например, оператор Body.angle = 450 эквивалентен Body.angle = 90.
Если вы хотите работать в радианах вместо градусов, используйте свойство Body.rotation. Работа в радианах быстрее, так как не нужно преобразовывать значения. Угол этого тела в градусах.
angularDamping : number
Затухание указывается как значение от 0 до 1, которое представляет собой долю скорости, теряемой в секунду. Угловое затухание, действующее на тело.
angularForce : number
Угловая сила, действующая на тело.
angularVelocity : number
Угловая скорость тела.
collidesWith :array
Массив CollisionGroups, с которыми сталкиваются фигуры этого тела.
collideWorldBounds : boolean
Тело может быть настроено на автоматическое столкновение с границами мира, если это значение установлено в true. В противном случае оно покинет мир.
Обратите внимание, что это применимо только в том случае, если ваш мир имеет границы! Реакция на столкновение должна управляться с помощью CollisionMaterials.
Обратите также внимание, что при установке этого параметра он будет влиять только на уже существующие фигуры тела. Если вы затем добавите другие фигуры в свое тело
после установки этого параметра, оно не будет настраивать их на столкновение с границами. Должно ли тело сталкиваться с границами мира?
damping : number
Затухание указывается как значение от 0 до 1, которое представляет собой долю скорости, теряемой в секунду. Линейное затухание, действующее на тело в направлении скорости.
<internal> data : p2.Body
Данные тела p2.
debug : boolean
Включить или отключить отладку отрисовки этого тела
debugBody : Phaser.Physics.P2.BodyDebug
Ссылка на отладочное тело.
dirty : boolean
Внутренне используется Sprite.x/y
dynamic : boolean
Возвращает true, если тело является динамическим. Установка Body.dynamic в 'false' сделает его статическим.
fixedRotation : boolean
-
force : Phaser.Physics.P2.InversePointProxy
Сила, приложенная к телу.
game : Phaser.Game
Локальная ссылка на игру.
gravity : Phaser.Point
Локально приложенная сила гравитации к телу. Применяется непосредственно перед шагом мира. ПРИМЕЧАНИЕ: в настоящее время не реализовано.
[readonly] id : number
Идентификатор тела. Каждое тело, добавленное в мир, имеет уникальный идентификатор.
inertia : number
Момент инерции тела вокруг оси Z..
- Source code: physics/p2/Body.js (Line 1755)
- Source code: physics/p2/Body.js (Line 1574)
- Source code: physics/p2/Body.js (Line 1775)
- Source code: physics/p2/Body.js (Line 1799)
- Source code: physics/p2/Body.js (Line 53)
- Source code: physics/p2/Body.js (Line 92)
- Source code: physics/p2/Body.js (Line 107)
- Source code: physics/p2/Body.js (Line 117)
- Source code: physics/p2/Body.js (Line 1822)
- Source code: physics/p2/Body.js (Line 1845)
- Source code: physics/p2/Body.js (Line 43)
- Source code: physics/p2/Body.js (Line 1516)
- Source code: physics/p2/Body.js (Line 48)
- Source code: physics/p2/Body.js (Line 66)
- Source code: physics/p2/Body.js (Line 38)
- Source code: physics/p2/Body.js (Line 1865)
- Source code: physics/p2/Body.js (Line 1885)
kinematic : boolean
Возвращает true, если тело Body является кинематическим. Установка Body.kinematic в 'false' сделает его статическим.
mass : number
Масса тела.
motionState : number
Тип движения этого тела. Должен быть одним из следующих: Body.STATIC (тело неподвижно), Body.DYNAMIC (тело может двигаться и реагировать на столкновения) и Body.KINEMATIC (движется только в соответствии со своей .velocity).
offset : Phaser.Point
Смещение физического тела от позиции Sprite по оси x/y.
onBeginContact : Phaser.Signal
Вызывается при создании первого контакта между фигурами в двух телах.
Этот событие срабатывает во время шага, поэтому столкновение уже произошло.
Событие будет отправлено с 5 аргументами в таком порядке:
Phaser.Physics.P2.Body, с которым он находится в контакте. Может быть null, если Body был создан непосредственно в p2 world.
p2.Body, с которым это Body находится в контакте.
Фигура из этого тела, которая вызвала контакт.
Фигура из тела контакта.
Массив данных Contact Equation.
onEndContact : Phaser.Signal
Вызывается при завершении контакта между фигурами в двух телах.
Это событие срабатывает во время шага, поэтому столкновение уже произошло.
Событие будет отправлено с 4 аргументами в таком порядке:
Phaser.Physics.P2.Body, с которым он находится в контакте. Может быть null, если Body был создан непосредственно в p2 world.
p2.Body, с которым это Body прекратил контакт.
Фигура из этого тела, которая вызвала исходный контакт.
Фигура из тела контакта.
removeNextStep : boolean
Чтобы избежать удаления этого тела во время физического шага и возникновения проблем, установите removeNextStep в true, чтобы удалить его в следующем preUpdate.
rotation : number
Угол тела в радианах.
Если вы хотите работать в градусах вместо радиан, используйте свойство Body.angle. Работа в радианах быстрее, так как не требуется конвертация значений. Угол этого тела в радианах.
sleepSpeedLimit : number
.
sprite : Phaser.Sprite
Ссылка на родительский Sprite.
static : boolean
Возвращает true, если тело Body статическое. Установка Body.static в 'false' сделает его динамическим.
type : number
Тип физической системы, к которой принадлежит это тело.
velocity : Phaser.Physics.P2.InversePointProxy
Скорость тела. Установка velocity.x в отрицательное значение переместит его влево, в положительное - вправо. velocity.y отрицательные значения перемещают вверх, положительные - вниз.
world : Phaser.Physics.P2
Локальная ссылка на P2 World.
x : number
Координата x этого тела.
y : number
Координата y этого тела.
Публичные методы
- Исходный код: physics/p2/Body.js (Строка 1108)
- Исходный код: physics/p2/Body.js (Строка 1017)
- Исходный код: physics/p2/Body.js (Строка 1350)
- Исходный код: physics/p2/Body.js (Строка 1088)
- Исходный код: physics/p2/Body.js (Строка 1071)
addCapsule(length, radius, offsetX, offsetY, rotation) → {p2.Capsule}
Добавляет фигуру Capsule в этот объект Body.
Вы можете контролировать смещение от центра тела и вращение.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
length | number | Расстояние между конечными точками в пикселях. | ||
radius | number | Радиус капсулы в пикселях. | ||
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение фигуры относительно центра масс тела, указанное в радианах. |
Возвращаемое значение
Фигура Capsule, которая была добавлена к объекту Body.
addCircle(radius, offsetX, offsetY, rotation) → {p2.Circle}
Добавляет круглую фигуру Circle в этот объект Body. Вы можете контролировать смещение от центра тела и вращение.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
radius | number | Радиус круга (в пикселях) | ||
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение фигуры относительно центра масс тела, заданное в радианах. |
Возвращаемое значение
Фигура Circle, которая была добавлена к объекту Body.
addFixture(fixtureData) → {array}
Добавляет полигональную фигуру. Используется во время #loadPolygon.
Параметры
| Имя | Тип | Описание |
|---|---|---|
fixtureData | string | Данные для фигуры. Содержит: isSensor, фильтр (коллизия) и фактические полигональные фигуры. |
Возвращаемое значение
Массив, содержащий сгенерированные фигуры для заданного многоугольника.
addLine(length, offsetX, offsetY, rotation) → {p2.Line}
Добавляет линию Line в этот объект Body.
Фигура линии расположена вдоль оси x и простирается от [-length/2, 0] до [length/2,0].
Вы можете контролировать смещение от центра тела и вращение.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
length | number | Длина этой линии (в пикселях) | ||
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение фигуры относительно центра масс тела, заданное в радианах. |
Возвращаемое значение
Фигура Line, которая была добавлена к объекту Body.
addParticle(offsetX, offsetY, rotation) → {p2.Particle}
Добавляет частицу Particle в этот объект Body. Вы можете контролировать смещение от центра тела и вращение.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение фигуры относительно центра масс тела, заданное в радианах. |
Возвращаемое значение
Частица Particle, которая была добавлена к объекту Body.
addPhaserPolygon(key, object) → {Array}
Считывает данные формы из файла физических данных, хранящегося в кэше игры, и добавляет его как многоугольник в этот объект Body.
Формат данных формы основан на выводе
пользовательского экспортера phaser для
PhysicsEditor
Параметры
| Имя | Тип | Описание |
|---|---|---|
key | string | Ключ файла Physics Data, хранящегося в кэше игры. |
object | string | Ключ объекта внутри файла физических данных, из которого вы хотите загрузить данные формы. |
Возвращаемое значение
- Source code: physics/p2/Body.js (Line 1310)
- Source code: physics/p2/Body.js (Line 1054)
- Source code: physics/p2/Body.js (Line 1128)
- Source code: physics/p2/Body.js (Line 1035)
- Source code: physics/p2/Body.js (Line 992)
- Source code: physics/p2/Body.js (Line 904)
- Source code: physics/p2/Body.js (Line 490)
Список созданных фикстур для использования с Phaser.Physics.P2.FixtureList
addPlane(offsetX, offsetY, rotation) → {p2.Plane}
Добавляет форму плоскости к этому телу. Плоскость направлена по оси Y. Вы можете контролировать смещение относительно центра тела и поворот.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение формы относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение формы относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение формы относительно центра масс тела, заданное в радианах. |
Returns
Форма плоскости, которая была добавлена к телу.
addPolygon(options, points) → {boolean}
Считывает путь многоугольной формы, собирает выпуклые фигуры из него и размещает их в правильных точках смещения. Фигура должна быть простой и без дыр.
Эта функция ожидает, что значения x.y будут заданы в пикселях. Если вы хотите предоставить их в масштабе мира p2, то вызовите Body.data.fromPolygon напрямую.
Parameters
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options | object |
Объект, содержащий параметры построения: Properties
| ||||||||||||||||||||
points | Array.<number> | number | Массив 2d векторов, образующих выпуклый или вогнутый многоугольник. |
Returns
True при успехе, иначе false.
addRectangle(width, height, offsetX, offsetY, rotation) → {p2.Box}
Добавляет форму прямоугольника к этому телу. Вы можете контролировать смещение относительно центра тела и поворот.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
width | number | Ширина прямоугольника в пикселях. | ||
height | number | Высота прямоугольника в пикселях. | ||
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение формы относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение формы относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение формы относительно центра масс тела, заданное в радианах. |
Returns
Форма, которая была добавлена к телу.
addShape(shape, offsetX, offsetY, rotation) → {p2.Shape}
Добавляет форму к телу. Вы можете передать локальную трансформацию при добавлении формы, чтобы форма получила смещение и угол относительно центра масс тела.
Автоматически обновит свойства массы и радиус ограничивающей области.
Если у этого тела был ранее заданный Collision Group, вам нужно будет повторно применить его к новой форме, которую это создает.
Parameters
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
shape | p2.Shape | Форма для добавления к телу. | ||
offsetX | number | <optional> | 0 | Локальное горизонтальное смещение формы относительно центра масс тела. |
offsetY | number | <optional> | 0 | Локальное вертикальное смещение формы относительно центра масс тела. |
rotation | number | <optional> | 0 | Локальное вращение формы относительно центра масс тела, заданное в радианах. |
Returns
Форма, которая была добавлена к телу.
addToWorld()
Добавляет это физическое тело в мир.
adjustCenterOfMass()
Перемещает смещения формы так, чтобы их центр масс стал центром масс тела.
applyDamping(dt)
- Исходный код: physics/p2/Body.js (Строка 516)
- Исходный код: physics/p2/Body.js (Строка 561)
- Исходный код: physics/p2/Body.js (Строка 528)
- Исходный код: physics/p2/Body.js (Строка 544)
- Исходный код: physics/p2/Body.js (Строка 323)
- Исходный код: physics/p2/Body.js (Строка 974)
- Исходный код: physics/p2/Body.js (Строка 435)
- Исходный код: physics/p2/Body.js (Строка 180)
Применить затухание, см. http://code.google.com/p/bullet/issues/detail?id=74 для получения подробной информации.
Параметры
| Имя | Тип | Описание |
|---|---|---|
dt | число | Текущий шаг по времени. |
applyForce(force, worldX, worldY)
Применить силу к мировой точке.
Это может быть, например, точка на поверхности RigidBody. Применение силы
таким образом добавит Body.force и Body.angularForce.
Параметры
| Имя | Тип | Описание |
|---|---|---|
force | Float32Array | Массив | Вектор силы для добавления. |
worldX | число | Мировая точка x для применения силы. |
worldY | число | Мировая точка y для применения силы. |
applyImpulse(impulse, worldX, worldY)
Применить импульс к точке, относительно тела.
Это может быть, например, точка на поверхности тела. Импульс — это сила, добавленная к телу в течение короткого
периода времени (импульс = сила * время). Импульсы будут добавлены к Body.velocity и Body.angularVelocity.
Параметры
| Имя | Тип | Описание |
|---|---|---|
impulse | Float32Array | Массив | Вектор импульса для добавления, ориентированный в пространстве мира. |
worldX | число | Точка, относящаяся к телу в мировом пространстве. Если не указана, она устанавливается в ноль, и весь импульс будет приложен к центру масс. |
worldY | число | Точка, относящаяся к телу в мировом пространстве. Если не указана, она устанавливается в ноль, и весь импульс будет приложен к центру масс. |
applyImpulseLocal(impulse, localX, localY)
Применить импульс к точке, локальной для тела.
Это может быть, например, точка на поверхности тела. Импульс — это сила, добавленная к телу в течение короткого
периода времени (импульс = сила * время). Импульсы будут добавлены к Body.velocity и Body.angularVelocity.
Параметры
| Имя | Тип | Описание |
|---|---|---|
impulse | Float32Array | Массив | Вектор импульса для добавления, ориентированный в локальном пространстве. |
localX | число | Локальная точка на теле. |
localY | число | Локальная точка на теле. |
clearCollision(clearGroup, clearMask, shape)
Очищает данные столкновения из фигур в этом теле. Дополнительно очищает группу и/или маску.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
clearGroup | логическое | <необязательно> | true | Очистить значение collisionGroup из фигуры/фигур? |
clearMask | логическое | <необязательно> | true | Очистить значение collisionMask из фигуры/фигур? |
shape | p2.Shape | <необязательно> | Необязательная фигура. Если не указана, данные столкновения будут очищены из всех фигур в этом теле. |
clearShapes()
Удаляет все фигуры из этого тела.
collides(group, callback, callbackContext, shape)
Добавляет указанную группу столкновений или массив групп столкновений в список групп, с которыми это тело будет сталкиваться, и обновляет маски столкновений.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
group | Phaser.Physics.CollisionGroup | массив | Группа столкновений или массив групп столкновений, с которыми фигуры этого тела будут сталкиваться. | |
callback | функция | <необязательно> | Необязательный обработчик, который будет вызван, когда это тело столкнется с заданной группой. |
callbackContext | объект | <необязательно> | Контекст, в котором будет вызван обработчик. |
shape | p2.Shape | <необязательно> | Необязательная фигура. Если не указана, маска столкновения будет добавлена ко всем фигурам в этом теле. |
createBodyCallback(object, callback, callbackContext)
Устанавливает обработчик, который будет вызываться всякий раз, когда фигура в этом теле сталкивается с фигурой в заданном теле. Тест на столкновение выполняется по значениям body.id.
Обработчику будут отправлены 4 параметра: это тело, тело, с которым произошло столкновение, фигура в этом теле и фигура в сталкивающемся теле.
Обратите внимание, что событие столкновения происходит после разрешения столкновения, поэтому оно не может быть использовано для предотвращения столкновения.
Это также происходит в середине шага. Поэтому не уничтожайте тело во время этого обработчика, вместо этого установите safeDestroy в true, чтобы оно было уничтожено на следующем преобновлении.
Параметры
| Имя | Тип | Описание |
|---|---|---|
object | Phaser.Sprite | Phaser.TileSprite | Phaser.Physics.P2.Body | p2.Body | Объект, для которого будут отправляться события столкновения. |
callback | функция | Обработчик, вызываемый при столкновении. Установите в null, чтобы очистить ранее установленный обработчик. |
callbackContext | объект | Контекст, в котором будет происходить вызов обработчика. |
- Исходный код: physics/p2/Body.js (Строка 220)
- Исходный код: physics/p2/Body.js (Строка 943)
- Исходный код: physics/p2/Body.js (Строка 247)
- Исходный код: physics/p2/Body.js (Строка 502)
- Исходный код: physics/p2/Body.js (Строка 1422)
- Исходный код: physics/p2/Body.js (Строка 691)
- Исходный код: physics/p2/Body.js (Строка 815)
- Исходный код: physics/p2/Body.js (Строка 674)
- Исходный код: physics/p2/Body.js (Строка 776)
- Исходный код: physics/p2/Body.js (Строка 789)
createGroupCallback(group, callback, callbackContext)
Устанавливает обратный вызов, который будет срабатывать всякий раз, когда этот Body сталкивается с заданной группой. Тест на столкновение выполняется по значениям shape.collisionGroup.
Обратный вызов получит 4 параметра: этот body, body, с которым произошло столкновение, Shape в этом body и Shape в body, вызвавшем столкновение.
Этот обратный вызов будет срабатывать только в том случае, если этому Body была назначена группа столкновений.
Обратите внимание, что событие столкновения происходит после разрешения коллизии, поэтому с его помощью нельзя предотвратить столкновение.
Это также происходит в середине шага. Поэтому не уничтожайте Body во время этого обратного вызова, вместо этого установите safeDestroy в true, чтобы он был уничтожен на следующем preUpdate.
Параметры
| Имя | Тип | Описание |
|---|---|---|
group | Phaser.Physics.CollisionGroup | Группа, для которой будут отправляться события столкновения. |
callback | function | Обратный вызов, который будет срабатывать при столкновении. Установите в null, чтобы очистить ранее установленный обратный вызов. |
callbackContext | object | Контекст, в котором будет срабатывать обратный вызов. |
destroy()
Уничтожает этот Body и все ссылки, которые он хранит на другие объекты.
getCollisionMask() → {number}
Получает битовую маску столкновений из групп, с которыми сталкивается этот body.
Возвращает
Битовая маска.
getVelocityAtPoint(result, relativePoint) → {Array}
Получает скорость точки в теле.
Параметры
| Имя | Тип | Описание |
|---|---|---|
result | Array | Вектор для хранения результата. |
relativePoint | Array | Вектор, ориентированный в мире, указывающий положение точки, для которой необходимо получить скорость. |
Возвращает
Вектор результата.
loadPolygon(key, object) → {boolean}
Считывает данные формы из файла данных физики, хранящегося в Game.Cache, и добавляет его в качестве многоугольника в этот Body.
Помимо считывания данных из кэша, вы также можете передать null в качестве первого аргумента и объект данных физики во второй. При этом вы должны заранее убедиться, что структура объекта правильная.
Для получения дополнительной информации см. формат экспорта Lime / Corona Physics Editor.
Параметры
| Имя | Тип | Описание |
|---|---|---|
key | string | Ключ файла данных физики, как он хранится в Game.Cache. В качестве альтернативы, установите значение в |
object | string | object | Ключ объекта в файле данных физики, из которого необходимо загрузить данные формы, или, если ключ равен null, передать сам объект данных физики в качестве этого параметра. |
Возвращает
True при успехе, иначе false.
moveBackward(speed)
Перемещает Body назад на основе его текущего угла и заданной скорости.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | number | Скорость обратного движения. |
moveDown(speed)
Если этот Body динамический, то он будет перемещен вниз, установив его скорость по оси y на заданную величину.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | number | Скорость движения вниз в пикселях в секунду. |
moveForward(speed)
Перемещает Body вперёд на основе его текущего угла и заданной скорости.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | number | Скорость движения вперёд. |
moveLeft(speed)
Если этот Body динамический, то он будет перемещен влево, установив его скорость по оси x на заданную величину.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | number | Скорость движения влево в пикселях в секунду. |
moveRight(speed)
Если этот Body динамический, то он будет перемещен вправо, установив его скорость по оси x на заданную величину.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | number | Скорость движения вправо в пикселях в секунду. |
moveUp(speed)
Если этот Body динамический, то он будет перемещен вверх, установив его скорость по оси y на заданную величину.
Скорость выражается в пикселях в секунду. Значение 100 перемещает 100 пикселей за 1 секунду (1000 мс).
Параметры
- Исходный код: physics/p2/Body.js (Строка 802)
- Внутренний:
- Этот член является внутренним (защищенным) и может быть изменён или удалён в будущем.
- Исходный код: physics/p2/Body.js (Строка 846)
- Внутренний:
- Этот член является внутренним (защищенным) и может быть изменён или удалён в будущем.
- Исходный код: physics/p2/Body.js (Строка 828)
- Исходный код: physics/p2/Body.js (Строка 371)
- Исходный код: physics/p2/Body.js (Строка 929)
- Исходный код: physics/p2/Body.js (Строка 1194)
- Исходный код: physics/p2/Body.js (Строка 871)
- Исходный код: physics/p2/Body.js (Строка 759)
- Исходный код: physics/p2/Body.js (Строка 650)
- Исходный код: physics/p2/Body.js (Строка 662)
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен подниматься, в пикселях в секунду. |
<внутренний> postUpdate()
Внутренний метод. Вызывается непосредственно перед тем, как спрайты отправляются в рендер, и после завершения функции обновления.
<внутренний> preUpdate()
Внутренний метод. Вызывается непосредственно перед тем, как спрайты отправляются в рендер, и после завершения функции обновления.
removeCollisionGroup(group, clearCallback, shape)
Удаляет заданную группу столкновений или массив групп столкновений из списка групп, с которыми этот объект будет сталкиваться, и обновляет маски столкновений.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
group | Phaser.Physics.CollisionGroup | массив | Группа столкновений или массив групп столкновений, с которыми формы этого тела больше не должны сталкиваться. | ||
clearCallback | логическое | <необязательно> | true | Очистить обратный вызов, который будет срабатывать, когда это тело столкнётся с данной группой? |
shape | p2.Shape | <необязательно> | Необязательная форма. Если не указано, обновлённая маска столкновений будет добавлена ко всем формам в этом теле. |
removeFromWorld()
Удаляет это физическое тело из мира.
removeShape(shape) → {логическое}
Удаляет форму из тела. Автоматически обновит свойства массы и радиус ограничивающего прямоугольника.
Параметры
| Имя | Тип | Описание |
|---|---|---|
shape | p2.Circle | p2.Rectangle | p2.Plane | p2.Line | p2.Particle | Форма для удаления из тела. |
Возвращает
True, если форма была найдена и удалена, иначе false.
reset(x, y, resetDamping, resetMass)
Сбрасывает силу, скорость (линейную и угловую) и вращение тела. Необязательно сбрасывает затухание и массу.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x | число | Новая позиция x тела. | ||
y | число | Новая позиция y тела. | ||
resetDamping | логическое | <необязательно> | false | Сбрасывает линейное и угловое затухание. |
resetMass | логическое | <необязательно> | false | Устанавливает массу тела обратно в 1. |
reverse(speed)
Применяет силу к телу, которая заставляет его «толкаться» назад (в обратном направлении), исходя из его текущего угла и заданной скорости.
Скорость представлена в пикселях в секунду. Таким образом, значение 100 означало бы перемещение на 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен двигаться назад. |
rotateLeft(speed)
Это повернёт тело на заданную скорость влево (против часовой стрелки).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен вращаться. |
rotateRight(speed)
Это повернёт тело на заданную скорость вправо (по часовой стрелке).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен вращаться. |
setCircle(radius, offsetX, offsetY, rotation)
Очищает все ранее установленные фигуры. Затем создаёт новую круглую фигуру и добавляет её к этому телу.
Если у этого тела была ранее установленная группа столкновений, вам нужно будет повторно применить её к новой форме, которую это создаёт.
Параметры
- Исходный код: physics/p2/Body.js (Строка 1210)
- Исходный код: physics/p2/Body.js (Строка 295)
- Исходный код: physics/p2/Body.js (Строка 1272)
- Исходный код: physics/p2/Body.js (Строка 1228)
- Исходный код: physics/p2/Body.js (Строка 1252)
- Исходный код: physics/p2/Body.js (Строка 612)
- Исходный код: physics/p2/Body.js (Строка 578)
- Исходный код: physics/p2/Body.js (Строка 589)
- Исходный код: physics/p2/Body.js (Строка 600)
- Исходный код: physics/p2/Body.js (Строка 1296)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
radius | число | Радиус этого круга (в пикселях) | ||
offsetX | число | <необязательно> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | число | <необязательно> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | число | <необязательно> | 0 | Локальное вращение фигуры относительно центра масс тела, заданное в радианах. |
setCollisionGroup(group, shape)
Устанавливает заданную группу столкновений как группу столкновений для всех фигур в этом теле, если фигура не указана.
Это также сбрасывает collisionMask.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
group | Phaser.Physics.CollisionGroup | Группа столкновений, которую будут использовать фигуры этого тела. | |
shape | p2.Shape | <необязательно> | Необязательная фигура. Если она не указана, группа столкновений будет добавлена ко всем фигурам в этом теле. |
setMaterial(material, shape)
Добавляет заданный материал ко всем фигурам, принадлежащим этому телу.
Если вы хотите применить его только к определенной фигуре в этом теле, укажите ее в качестве второго параметра.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
material | Phaser.Physics.P2.Material | Материал, который будет применен. | |
shape | p2.Shape | <необязательно> | Необязательная фигура. Если она не указана, материал будет добавлен ко всем фигурам в этом теле. |
setRectangle(width, height, offsetX, offsetY, rotation) → {p2.Rectangle}
Очищает все ранее заданные фигуры. Создает новую прямоугольную фигуру заданного размера и смещения и добавляет ее в это тело.
Если вы хотите создать прямоугольник, соответствующий размеру Sprite или Image, см. Body.setRectangleFromSprite.
Если в этом теле была ранее установлена группа столкновений, вам необходимо повторно применить ее к новой фигуре, созданной этим методом.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
width | число | <необязательно> | 16 | Ширина прямоугольника в пикселях. |
height | число | <необязательно> | 16 | Высота прямоугольника в пикселях. |
offsetX | число | <необязательно> | 0 | Локальное горизонтальное смещение фигуры относительно центра масс тела. |
offsetY | число | <необязательно> | 0 | Локальное вертикальное смещение фигуры относительно центра масс тела. |
rotation | число | <необязательно> | 0 | Локальное вращение фигуры относительно центра масс тела, заданное в радианах. |
Возвращает
Прямоугольная фигура, добавленная в тело.
setRectangleFromSprite(sprite) → {p2.Rectangle}
Очищает все ранее заданные фигуры.
Затем создаёт прямоугольную фигуру, размеры и ориентацию которой соответствуют размеру и ориентации заданного Sprite.
Если Sprite не указан, используется родитель этого тела по умолчанию.
Если в этом теле была ранее установлена группа столкновений, вам необходимо повторно применить ее к новой фигуре, созданной этим методом.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
sprite | Phaser.Sprite | Phaser.Image | <необязательно> | Sprite, размеры и ориентация которого будут использованы для прямоугольника. |
Возвращает
Прямоугольная фигура, добавленная в тело.
setZeroDamping()
Устанавливает затухание тела и угловое затухание в ноль.
setZeroForce()
Устанавливает силу на тело в ноль.
setZeroRotation()
Если это динамическое тело, то это обнулит его угловую скорость.
setZeroVelocity()
Если это динамическое тело, то это обнулит его скорость по обеим осям.
shapeChanged()
Обновляет вывод отладки, если изменяются какие-либо фигуры тела.
thrust(speed)
Применяет силу к телу, которая заставляет его «толкаться» вперед, исходя из его текущего угла и заданной скорости.
Скорость представлена в пикселях в секунду. Значение 100 означало бы перемещение на 100 пикселей за 1 секунду (1000 мс).
Параметры
- Исходный код: physics/p2/Body.js (Строка 708)
- Исходный код: physics/p2/Body.js (Строка 725)
- Исходный код: physics/p2/Body.js (Строка 742)
- Исходный код: physics/p2/Body.js (Строка 624)
- Исходный код: physics/p2/Body.js (Строка 637)
- Исходный код: physics/p2/Body.js (Строка 271)
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой должен происходить толчок. |
thrustLeft(speed)
Применяет силу к объекту Body, заставляя его «толкаться» влево, основываясь на текущем угле и заданной скорости.
Скорость представлена в пикселях в секунду. Значение 100 соответствует перемещению на 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен двигаться влево. |
thrustRight(speed)
Применяет силу к объекту Body, заставляя его «толкаться» вправо, основываясь на текущем угле и заданной скорости.
Скорость представлена в пикселях в секунду. Значение 100 соответствует перемещению на 100 пикселей за 1 секунду (1000 мс).
Параметры
| Имя | Тип | Описание |
|---|---|---|
speed | число | Скорость, с которой он должен двигаться вправо. |
toLocalFrame(out, worldPoint)
Преобразование мировой точки в локальную систему координат объекта.
Параметры
| Имя | Тип | Описание |
|---|---|---|
out | Float32Array | Массив | Вектор для хранения результата. |
worldPoint | Float32Array | Массив | Вводной мировой вектор. |
toWorldFrame(out, localPoint)
Преобразование локальной точки в мировую систему координат.
Параметры
| Имя | Тип | Описание |
|---|---|---|
out | Массив | Вектор для хранения результата. |
localPoint | Массив | Входной локальный вектор. |
updateCollisionMask(shape)
Обновляет маску столкновений.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
shape | p2.Shape | <необязательно> | Необязательный Shape. Если не указан, группа столкновений будет добавлена ко всем Shape в этом Body. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Physics.P2.Body.html