網站 |演示 |每晚建造 |維基百科
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 項目本身遵循的行為準則。