Класс: Phaser.Physics
Конструктор
new Physics(game, physicsConfig)
Менеджер физики отвечает за все работающие физические системы.
Phaser поддерживает 4 физические системы: Arcade Physics, P2, Ninja Physics и Box2D через коммерческий плагин.
Объекты игры (например, Sprites) могут принадлежать только одной физической системе, но в одной игре могут быть активны несколько систем.
Например, вы можете использовать P2 для управления ландшафтом, построенным из многоугольников, по которому едет транспортное средство, в то время как он может стрелять пулями, использующими более быструю (из-за большей простоты) систему Arcade Physics.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
game | Phaser.Game | Ссылка на текущую запущенную игру. | ||
physicsConfig | object | <optional> | null | Объект конфигурации физики, передаваемый в физический мир при создании. |
- Исходный код: physics/Physics.js (Строка 21)
Классы
- Arcade
- Ninja
- P2
Общедоступные свойства
- Исходный код: physics/Physics.js (Строка 73)
- Исходный код: physics/Physics.js (Строка 91)
- Исходный код: physics/Physics.js (Строка 97)
- Исходный код: physics/Physics.js (Строка 103)
- Исходный код: physics/Physics.js (Строка 85)
- Исходный код: physics/Physics.js (Строка 79)
- Исходный код: physics/Physics.js (Строка 38)
- Исходный код: physics/Physics.js (Строка 53)
- Исходный код: physics/Physics.js (Строка 58)
- Исходный код: physics/Physics.js (Строка 33)
- Исходный код: physics/Physics.js (Строка 28)
- Исходный код: physics/Physics.js (Строка 63)
- Исходный код: physics/Physics.js (Строка 48)
- Исходный код: physics/Physics.js (Строка 43)
[static] ARCADE : number
[static] BOX2D : number
[static] CHIPMUNK : number
[static] MATTERJS : number
[static] NINJA : number
[static] P2JS : number
arcade : Phaser.Physics.Arcade
Система Arcade Physics.
box2d :Phaser.Physics.Box2D
Система Box2D Physics.
chipmunk :Phaser.Physics.Chipmunk
Система Chipmunk Physics (в разработке).
config : Object
Объект конфигурации физики, переданный игре при создании.
game : Phaser.Game
Локальная ссылка на игру.
matter :Phaser.Physics.Matter
Система MatterJS Physics (скоро будет).
ninja : Phaser.Physics.Ninja
Система N+ Ninja Physics.
p2 : Phaser.Physics.P2
Система P2.JS Physics.
Общедоступные методы
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: physics/Physics.js (Строка 349)
- Исходный код: physics/Physics.js (Строка 399)
- Исходный код: physics/Physics.js (Строка 208)
- Исходный код: physics/Physics.js (Строка 107)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: physics/Physics.js (Строка 260)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: physics/Physics.js (Строка 374)
- Исходный код: physics/p2/World.js (Строка 552)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: physics/Physics.js (Строка 314)
- Исходный код: physics/p2/World.js (Строка 569)
<internal> clear()
Очищает все активные физические системы. Это не уничтожает их, а просто очищает их от объектов и вызывается при изменении состояния.
destroy()
Уничтожает все активные физические системы. Обычно вызывается только при завершении игры, а не при переключении состояний.
enable(object, system, debug)
Создаст стандартную физическую модель для данного объекта игры или массива объектов.
Объект игры может иметь только одну активную физическую модель в любой момент времени, и она не может быть изменена до тех пор, пока объект не будет уничтожен.
Она может быть для любой из начатых физических систем:
Phaser.Physics.Arcade - легкая система столкновений на основе AABB с базовой сепарацией.
Phaser.Physics.P2JS - полная продвинутая система физики, поддерживающая несколько форм объектов, загрузку полигонов, контактные материалы, пружины и связи.
Phaser.Physics.NINJA - порт физической системы N+ Metanet Softwares. Усовершенствованная система AABB и Circle vs. Tile столкновений.
Phaser.Physics.BOX2D - порт https://code.google.com/p/box2d-html5
Phaser.Physics.MATTER - полная и легкая продвинутая система физики (ещё в разработке)
Phaser.Physics.CHIPMUNK еще в разработке.
Если вам нужен больший контроль над типом создаваемой модели, например, для создания круга Ninja Physics вместо стандартного AABB, обратитесь к
отдельным методам физических систем enable вместо использования этого универсального метода.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
object | object | array | Объект игры, для которого будет создана физическая модель. Также может быть массивом объектов, физическая модель будет создана для каждого объекта в массиве. | ||
system | number | <optional> | Phaser.Physics.ARCADE | Физическая система, которая будет использоваться для создания модели. По умолчанию используется Arcade Physics. |
debug | boolean | <optional> | false | Включить отображение отладки для этой модели. По умолчанию выключено. |
parseConfig()
Парсит объект конфигурации физики, переданный конструктору игры, и запускает любые указанные в нём физические системы.
<internal> preUpdate()
preUpdate проверки.
<internal> reset()
Сбрасывает активную физическую систему. Автоматически вызывается при переключении состояний Phaser.State.
setBoundsToWorld(left, right, top, bottom, setCollisionGroup)
Устанавливает границы физического мира, чтобы они соответствовали размерам Game.World.
Вы можете по желанию задать, какие «стены» создать: левую, правую, верхнюю или нижнюю.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
left | boolean | <optional> | true | Если true, создаст стену левой границы. |
right | boolean | <optional> | true | Если true, создаст стену правой границы. |
top | boolean | <optional> | true | Если true, создаст стену верхней границы. |
bottom | boolean | <optional> | true | Если true, создаст стену нижней границы. |
setCollisionGroup | boolean | <optional> | true | Если true, границы будут использовать свою собственную группу столкновений. |
<internal> setBoundsToWorld()
Обновляет физические границы для соответствия размерам мира.
setWorldMaterial(material, left, right, top, bottom)
Устанавливает заданный материал для 4 границ этого мира.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
material | Phaser.Physics.P2.Material | Материал для установки. | ||
left | boolean | <optional> | true | Если true, устанавливает материал на стену левой границы. |
right | boolean | <optional> | true | Если true, устанавливает материал на стену правой границы. |
top | boolean | <optional> | true | Если true, устанавливает материал на стену верхней границы. |
bottom | boolean | <optional> | true | Если true, устанавливает материал на стену нижней границы. |
startSystem(system)
- Исходный код: physics/Physics.js (Строка 142)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: physics/Physics.js (Строка 287)
Это создаст экземпляр запрошенной физической симуляции.
Phaser.Physics.Arcade работает по умолчанию, но все остальные требуют прямого включения.
Вы можете запустить следующие физические системы:
Phaser.Physics.P2JS - полная, продвинутая физическая система с поддержкой тел от Стефана Хедмана.
Phaser.Physics.NINJA - порт физической системы N+ от Metanet Softwares.
Phaser.Physics.BOX2D - коммерческий плагин Phaser (см. http://phaser.io)
И Ninja Physics, и Box2D требуют загрузки соответствующих плагинов, прежде чем вы сможете запустить их.
Они не входят в основной библиотеку Phaser.
Если физический мир уже был создан (например, в другом состоянии вашей игры), то
вызов startSystem сбросит физический мир, а не пересоздаст его. Если вам нужно запустить их снова с их конструкторов
тогда установите Phaser.Physics.p2 (или любую другую систему, которую вы хотите пересоздать) в null перед вызовом startSystem.
Параметры
| Имя | Тип | Описание |
|---|---|---|
system | число | Физическая система для запуска: Phaser.Physics.ARCADE, Phaser.Physics.P2JS, Phaser.Physics.NINJA или Phaser.Physics.BOX2D. |
<internal> update()
Обновляет все запущенные физические системы.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Physics.html