这个项目能做什么

Ruffle 是一个用 Rust 编写的开源项目,旨在替代已停用的 Adobe Flash Player,使遗留的 Flash 内容(SWF 文件)继续可播放。 功能特性: - 支持 ActionScript 1、2 和 3,官方称已相当完整,但仍处于开发中。 - 提供 Web 演示,用户可直接在浏览器中加载本地 SWF 文件。 - 发布桌面端和网页端的夜间构建版本。 - 提供 Firefox 和 Chrome 浏览器扩展、Flathub 包、npm 包以及 AUR 包。 - 桌面客户端基于 wgpu-rs,支持可选的性能分析(Tracy)和渲染调试标签。 - 提供扫描器工具,用于批量解析 SWF 文件并报告解析结果。 - 提供导出器工具,可将 SWF 渲染为 PNG 截图,支持多帧输出和headless模式。 项目架构: - core:核心模拟器与通用代码 - swf:SWF 与 ActionScript 解析器 - desktop:桌面客户端 - web:网页客户端与浏览器扩展 - render:桌面与网页渲染后端 - video:视频解码后端 - flv:Flash Video 解码器 - wstr:Flash 兼容字符串实现 - scanner/exporter:命令行工具 构建要求: 需要最新的稳定版 Rust 工具链,且 PATH 中需包含 Java(用于内置 ActionScript 3 类)。Linux 用户需安装 ALSA、udev、fontconfig、freetype 和 OpenSSL 头等开发包。桌面构建通过 cargo 完成,并可传入特定 SWF 文件作为参数。macOS 用户可通过项目提供的 Homebrew tap 安装 HEAD 版本。网页和扩展构建遵循 web 目录中的说明,Android 应用位于独立的 ruffle-android 仓库。 许可协议: 采用 Apache-2.0 与 MIT 双许可,接受社区贡献,遵循相同条款。项目发布行为准则,欢迎社区贡献。