SuperAPI AI 工具集

v3-to-v4-migration

编程与开发

查看项目

更新于 10-15 15:51

技能介绍

用途:帮助将 Phaser 3 项目迁移到 Phaser 4,并回答破坏性变更、API 差异、旧代码如何更新等问题。内容按影响程度从大到小组织,可自上而下逐项处理,并附迁移清单。

主要能力:说明 v3 到 v4 的关键改动与替代方案。渲染器整体重写,v3 Pipeline 系统被移除,改为 RenderNode 架构,每个节点只负责单一渲染任务,含 run 与可选 batch 方法;自定义 WebGL 管线需改写为 render node 并通过 RenderConfig#renderNodes 注册。Canvas 渲染器保留但视为已弃用。FX 与 Mask 统一为 Filter 系统,取消 preFX/postFX 区分,分为 internal 与 external;BitmapMask 移除,改用 Mask filter,GeometryMask 仅 Canvas 可用;Bloom、Shine、Circle 等以 AddEffectBloom 等替代。Tint 移除 tintFill 与 setTintFill(),改用 tintMode 或 setTintMode() 配合 Phaser.TintModes。相机矩阵组成变化,新增 matrixExternal、matrixCombined。纹理改用 GL 方向,压缩纹理需翻转 Y 重压。DynamicTexture 与 RenderTexture 需调用 render() 执行缓冲命令。Shader 改用配置对象构造,新增 setUniform、renderImmediate。GLSL 加载改用 #pragma,不再区分 fragment/vertex。光照改为 setLighting(true)。TileSprite、Graphics、Grid、Rectangle 等有调整。Geom.Point 移除,改用 Vector2。Math.TAU 含义改变,新增 PI_OVER_2。Phaser.Struct.Set/Map 改用原生 Set/Map。roundPixels 默认改为 false。Mesh、Plane、Camera3D、Layer3D、IE9 入口及多个 polyfill 被移除。Spine 插件建议用官方版。

使用方式:安装 phaser@4 后,按文档中的对照表逐项替换 API,并用迁移清单跟踪进度;少量迁移示例保留了原样的代码片段供参考。

适用场景:迁移 Phaser 3 项目、升级旧游戏代码、处理 v4 破坏性变更。

限制:仅覆盖 v3 到 v4 的迁移差异,未提供价格、平台或效果保证;部分高级 3D 支持尚未提供。