3 releases
Uses new Rust 2024
| 0.1.2 | Nov 13, 2025 |
|---|---|
| 0.1.1 | Oct 15, 2025 |
| 0.1.0 | Oct 6, 2025 |
#2070 in Game dev
420KB
10K
SLoC
Bevy Flash
English | 中文
Bring Flash animations into the Bevy game engine, fully WASM compatible!
✨ Features
- ✅ Animation control (pause / seek / loop etc.)
Blend Modes
- ✅ Add
- ✅ Subtract
- ✅ Screen
- ✅ Lighten
- ✅ Darken
- ✅ Multiply
- 🟡 Remaining blend modes require the screen texture feature from
Bevy
[!NOTE] Since GPUs perform blending in Linear Space, while Flash's blending modes default to blending in Gamma Space (or sRGB Space), the blending mode colors in the current implementation are not color-accurate.
Filter Rendering
- ✅ Color Transform Filter
- ✅ Blur Filter
- ✅ Glow Filter
- ✅ Bevel Filter
- 🟡 Remaining filters are pending implementation
Goals
I want to bring Flash animations into the game engine to reuse old resources and thereby reconstruct Flash web games!
📸 Example
🚀 Quick Start
1. Run the example
git clone https://github.com/aojiaoxiaolinlin/bevy_flash.git
cd bevy_flash
cargo run --example sample
2. Add bevy_flash to your project
Minimal usage:
fn setup(mut commands: Commands, assert_server: Res<AssetServer>) {
commands.spawn(Camera2d);
commands.spawn((
Flash(assert_server.load("spirit2159src.swf")),
FlashPlayer::from_animation_name("WAI").with_loop(true),
Transform::from_scale(Vec3::splat(2.0)),
));
commands.spawn(Flash(assert_server.load("loading_event_test.swf")));
}
Compatibility
| bevy | bevy_flash |
|---|---|
| 0.17 | 0.1 |
Contributing
If you also want to complete this plugin, you are welcome to submit a Pull Request (PR) or raise an issue.
License
This code is licensed under dual MIT / Apache-2.0 but with no attribution necessary. All contributions must agree to this licensing.
Dependencies
~69–105MB
~2M SLoC