Physics 物理引擎
# Physics 物理引擎
http://phaser.io/docs/2.6.2/Phaser.Physics.html
物理管理器负责照看所有正在运行的物理系统。 Phaser 支持 4 种物理系统。Arcade Physics、P2、Ninja Physics 和 Box2D(通过一个商业插件)。
游戏对象(如精灵)只能属于一个物理系统,但你可以在一个游戏中激活多个系统。
例如,你可以让 P2 管理车辆驶过的多边形地形,而它可以发射子弹,使用的是 P2 系统。 更快(因为更简单)的街机物理系统。
new Physics(game, physicsConfig);
参数
- game
- 对当前运行的游戏的引用。
- physicsConfig
- 一个物理配置对象,在创建时传递给物理世界。
# 属性
# arcade
# 方法
# startSystem()
// 初始化 Arcade Physics 引擎
game.physics.startSystem(Phaser.Physics.ARCADE);
# clear()
<内部方法> clear() 清理所有活动的物理系统。这并不破坏它们,它只是清除它们的对象,并在状态改变时被调用
# destroy()
销毁所有活动的物理系统。通常只在游戏关闭时调用,在状态交换时不调用。
# enable()
enable(object, system, debug)
参数
object 【object | array】
要创建物理体的游戏对象。也可以是一个对象的数组,数组中的每个对象都将被创建一个体。
system 【number】可选,默认 Phaser.Physics.ARCADE
将用于创建身体的物理系统。默认为街机物理。
debug 【boolean】可选,默认 false
启用本体的调试绘图。默认为 false。
这将在给定的游戏对象或对象阵列上创建一个默认物理体。 一个游戏对象在任何时候都只能有一个激活的物理体,而且在该对象被销毁之前,它不能被改变。 它可以是任何已经启动的物理系统。
Phaser.Physics.Arcade - 一个基于 AABB 的轻量级碰撞系统,具有基本的分离功能。 Phaser.Physics.P2JS - 一个全身高级物理系统,支持多种物体形状、多边形加载、接触材料、弹簧和约束。 Phaser.Physics.NINJA - Metanet Softwares N+物理系统的一个移植。先进的 AABB 和圆形与瓦片的碰撞。 Phaser.Physics.BOX2D - 移植自https://code.google.com/p/box2d-html5。 Phaser.Physics.MATTER - 全身和轻量级的高级物理系统(仍在开发中)。 Phaser.Physics.CHIPMUNK 仍在开发中。
如果你需要对创建的身体类型有更多的控制,例如创建一个 Ninja Physics Circle 而不是默认的 AABB,那么请看 个别物理系统的启用方法,而不是使用这个通用方法。
// 开启球的物理效果
game.physics.enable(ball, Phaser.Physics.ARCADE);