bevy_flash

Crates.iobevy_flash
lib.rsbevy_flash
version0.1.2
created_at2025-10-06 12:50:16.78901+00
updated_at2025-11-13 16:32:20.583827+00
descriptionA Bevy plugin for Flash Animation.
homepage
repositoryhttps://github.com/aojiaoxiaolinlin/bevy_flash
max_upload_size
id1870170
size581,557
傲娇小霖霖 (aojiaoxiaolinlin)

documentation

README

Bevy Flash

MIT/Apache 2.0 Crates.io Downloads DeepWiki Bevy Tracking Discord

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

See online demo

example example 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.

Commit count: 0

cargo fmt