用途:在 Phaser 4 项目中接入并配置 Arcade Physics,实现重力、碰撞、重叠触发、平台跳跃、俯视移动、子弹发射等 2D 游戏物理逻辑。
主要能力:在 GameConfig 中通过 physics.default='arcade' 启用物理并配置重力与 debug;用 this.physics.add.sprite/staticSprite/staticGroup/group 创建动态体、静态体与静态/动态组;设置速度、加速度、最大速度、阻力、弹性、命中框尺寸与偏移、世界边界碰撞、按物体覆盖重力及 immovable;用 add.collider 处理物理碰撞、add.overlap 处理无反弹触发,支持回调与条件处理函数;提供平台跳跃、俯视、太空射击等场景的重力与移动配方;用 group 实现子弹/投射物对象池;moveTo、velocityFromAngle、velocityFromRotation 等工具方法。
使用方式:在 main.ts 的 GameConfig 开启 arcade 物理,在 create() 中创建物理体与碰撞器,在 update() 中按输入设置速度;静态体移动后调用 staticGroup.refresh()。
限制与注意:Arcade Physics 为快速 AABB 模拟,不支持真实曲线或基于旋转的碰撞。每个 this.time.addEvent 创建的计时器需手动 remove(),循环实体中匿名计时器易造成泄漏;动态创建的物理组在上下文结束时须先 clear(true, true) 再 destroy(),否则子对象会残留在显示列表。debug 仅用于开发,发布应设为 false。
补充:references/arcade-physics-api.md 提供完整 Arcade Body 属性/方法参考及击退、传送带、移动平台等高级模式。其他功能细节暂未提供。