网站 |演示 |每晚构建 |维基百科
Ruffle 是一个用 Rust 编程语言编写的 Adobe Flash Player 模拟器。 Ruffle 使用 WebAssembly 面向桌面和 Web。
Ruffle 很好地支持 ActionScript 1、2 和 3,但无论如何它还没有完成。请在问题跟踪器中报告任何问题。
尝试 Ruffle 的最简单方法是访问 Web 演示页面,然后单击“选择文件”按钮加载您选择的 SWF 文件。
Ruffle 的夜间版本可用于桌面和 Web 平台。
有关更详细的说明,请参阅我们的 wiki 页面。
java
使用(构建包含 ActionScript 3 内置 Flash 类的库时需要)以下是 Linux 的典型依赖项:
使用以下命令构建并运行桌面应用程序:
cargo run --release --package=ruffle_desktop
要运行特定的 SWF 文件,请将 SWF 路径作为参数传递:
cargo run --release --package=ruffle_desktop -- test.swf
要在调试模式下构建,只需从命令中省略--release
即可。
Ruffle 桌面可以通过我们的 Homebrew Tap 构建:
brew install --HEAD ruffle-rs/ruffle/ruffle
注意:因为它是仅 HEAD 的,所以每次要更新时都需要运行brew upgrade --fetch-HEAD ruffle
。
按照 Web 目录中的说明构建 Ruffle 的 Web 或浏览器扩展版本。
该项目使用 BrowserStack 进行测试。
按照ruffle-android
项目中的说明构建 Ruffle 的 Android 应用程序。
如果您有一组“真实世界”SWF 可供测试,则扫描仪可用于对 ruffle 的解析功能进行基准测试。提供文件夹和输出文件名后,它将尝试读取所有 Flash 文件并报告此类任务是否成功。
cargo run --release --package=ruffle_scanner -- scan folder/with/swfs/ results.csv
如果您有 SWF 文件并且想要捕获它的图像,您可以使用导出器工具。目前这需要硬件加速,但可以无头运行(没有窗口)。
cargo run --release --package=exporter -- path/to/file.swf
cargo run --release --package=exporter -- path/to/file.swf path/to/screenshots --frames 5
core
- 核心模拟器和通用代码swf
- SWF 和 ActionScript 解析器desktop
- 桌面客户端(使用wgpu-rs
)web
- Web 客户端和浏览器扩展(使用wasm-bindgen
)render
- 适用于桌面和 Web 的各种渲染后端video
- 视频解码后端flv
- Flash 视频解码器wstr
- Flash 兼容的字符串实现scanner
- 批量解析 SWF 文件的实用程序exporter
- 用于生成 SWF 文件的 PNG 屏幕截图的实用程序您可以通过 GitHub Sponsors 支持 Ruffle 的开发。您的赞助将有助于确保未来 Flash 内容的可访问性。谢谢你!
衷心感谢Ruffle钻石级赞助商:
Ruffle 获得以下任一许可
由您选择。
Ruffle 依赖于兼容许可下的第三方库。有关完整信息,请参阅 LICENSE.md。
Ruffle 欢迎大家的贡献。请参阅 CONTRIBUTING.md 以获取入门帮助。
除非您另有明确说明,否则您有意提交的包含在作品中的任何贡献均应获得上述双重许可,无任何附加条款或条件。
整个 Ruffle 社区,包括聊天室和 GitHub 项目,都应该遵守 Rust 项目本身遵循的行为准则。