bevy-paperdoll

Latest version Documentation MIT/Apache 2.0 CI Bevy tracking

Bevy plugin for paperdoll, a 2D pixel-based stationary paper doll model.

screenshot

Usage

Add the plugin to your app first.

```rust use bevy::prelude::*; use bevy_paperdoll::{PaperdollAsset, PaperdollPlugin};

fn main() { App::new() .add_plugins(PaperdollPlugin);

// Other logic
// ...

} ```

Then load a paperdoll file and store the handle. You can use ppd-editor to create a valid paperdoll asset.

```rust fn loadpaperdoll(assetserver: Res) { let handle = asset_server.load("your/paperdoll.ppd");

// Store the handle.
// ...

} ```

Create a paperdoll from the loaded asset and play with it.

```rust fn createpaperdoll( mut paperdolls: ResMut>, ) { // Access the paperdoll asset using the handle stored previously. let paperdollasset = paperdolls.get_mut(&handle).unwrap();

// Create a paperdoll based on doll 0.
// The returned id will be used to refer to this paperdoll in the following process.
let paperdoll_id = paperdoll_asset.create_paperdoll(0);

// Do something with the paperdoll just created.

// eg. Set slot 0 to fragment 1
// paperdoll_asset.slot_use_fragment(paperdoll_id, 0, 1);

// eg. Set slot 1 to empty
// paperdoll_asset.slot_use_empty(paperdoll_id, 1);

// Get the image to be drawn on the screen.
let paperdoll_image = paperdoll_asset.take_texture(paperdoll_id).unwrap();

} ```

See examples for more.

Bevy Compatibility

| bevy | bevy-paperdoll | | ---- | -------------- | | 0.11 | 0.1 |