
把 Flash 游戏移植到 HTML5,意思是为一个仍然存在的浏览器运行时重建一款你拥有的游戏,因为 Adobe 已于 2020 年 12 月 31 日停止 Flash Player,浏览器也彻底移除了插件支持。
有两条诚实的路。模拟,比如用 Ruffle 这类项目,通过 WebAssembly 在浏览器里运行原始 SWF,对保存和存档来说这是正确答案。重建则是在现代引擎里重新制作这款游戏,让你获得触摸支持、宽屏、存档、更新能力,以及日后把同一款游戏发到桌面和移动商店的可能。
Summer Engine 除桌面、移动和主机外也导出到网页。有一条专属浏览器构建的注意事项:网页不支持 C#,所以网页目标要用 GDScript 或 C++。那是唯一排除 C# 的平台。
模拟还是重建,怎么选
当目标是为玩家或档案保存原汁原味的原版,并且你接受只有鼠标键盘、固定舞台尺寸、也没有更新时,选模拟。当你想要移动浏览器和触摸、宽屏与自适应布局、通过本地存储保存进度、分析、变现,或者日后在 Steam 或应用商店发行时,选重建。重建还能修好原作里那些只因为人人都用桌面鼠标才成立的部分。
从你自己的 SWF 里找回资源
如果 FLA 还在就从它开始,把矢量元件导出成 SVG 或高分辨率 PNG,音频导出成 OGG。没有 FLA 时,提取工具能从你自己的 SWF 里拉出内嵌位图和声音,反编译器也能还原 ActionScript 供你参考。把所有矢量动画重建成精灵表或骨骼动画。只对你制作的、或持有明确重制许可的游戏这么做。
会改变设计的网页运行时约束
浏览器在第一次用户交互之前会拦住音频,所以要加一个点击开始的界面。没有文件系统,所以存档写进浏览器存储,而且可能被用户清掉。下载体积直接决定有没有人愿意等,所以要压缩贴图和音频,能流式加载的就流式加载。移动浏览器内存限制很紧,也没有键盘。标签页切到后台时暂停,并用时间增量而不是帧计数来应对浮动的帧率。
HTML5 游戏如今在哪里生存
门户时代随插件一起结束了,但网页分发没有。itch.io 直接托管 HTML5 构建。Newgrounds 仍然能跑游戏。网页游戏发行商和聚合站会授权 HTML5 作品,按流量或分成付费。你也可以自建域名托管。重建后的游戏能从同一个项目发到浏览器、桌面和移动商店,这正是选择重建而不是模拟的主要商业理由。
常见问题
SWF 能自动转换成 HTML5 吗?
没法可靠地转。自动转换器能处理简单动画,但在 ActionScript 逻辑上会垮掉。两条靠得住的选择是:用 Ruffle 这类 WebAssembly 播放器模拟 SWF,或者在现代引擎里重建这款游戏。
Flash 为什么不能用了?
Adobe 在 2020 年 12 月 31 日结束了 Flash Player 支持,并从 2021 年 1 月起开始阻止内容运行。浏览器移除了它依赖的插件架构,所以没有现代浏览器能原生运行 SWF。
网页构建能用 C# 吗?
不能。网页不支持 C#。浏览器构建请用 GDScript 或 C++。C# 在其他所有目标上都可用,包括桌面和移动。
重建后的游戏能在手机上跑吗?
只要你为此做设计就能。加上触摸操作、自适应布局,以及更低的内存和下载预算。Flash 游戏默认有鼠标,所以触摸是一次设计改动,不是重新映射。
同一份重建能发到浏览器之外吗?
能。一个项目导出到桌面、移动、网页和主机,所以浏览器版本和 Steam 或商店版本来自同一份源。
继续探索
用 Summer Engine 创作的更多方式
AI 游戏制作器
用语言描述就能制作完整 2D 和 3D 游戏的中心。
打开Port a Flash game to Steam
Flash Player was discontinued at the end of 2020. A Flash game reaches Steam by being rebuilt as a native desktop game, not by being wrapped.
打开Port a Flash game to the web that still exists
Adobe ended Flash Player support on December 31, 2020. Porting a Flash game means rebuilding a title you own so it runs in a modern browser.
打开Port a 3DS game to Steam
Rebuild a 3DS game you own in Summer Engine, then export a Windows, macOS, or Linux build and publish it on Steam.
打开Port a 3DS game to iOS
Rebuild a 3DS game you own in Summer Engine, then export a signed build for iPhone and iPad and submit it to the App Store.
打开Port a 3DS game to Android
Rebuild a 3DS game you own in Summer Engine, then export an Android App Bundle and publish it on Google Play.
打开Port a 3DS game to PC
Rebuild a 3DS game you own in Summer Engine, then export Windows, macOS, and Linux builds and distribute them however you like.
打开Port a 3DS game to Switch
Rebuild a 3DS game you own in Summer Engine, then take the console path once you are an approved Nintendo developer.
打开Port a 3DS game to web
Rebuild a 3DS game you own in Summer Engine, then export an HTML5 build that runs in a browser on desktop and phones.
打开平台游戏模板
从现成的项目开始,描述你想要的改动即可。
浏览浏览所有游戏模板
从现成的项目开始,描述你想要的改动即可。
浏览