Skip to content

Facilitates creating custom cursor in bevy-based app. Uses bevy's `ImageBundle` to replace the original cursor with moving UI element.

License

Notifications You must be signed in to change notification settings

Siiir/bevy_fancy_cursor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bevy_fancy_cursor

Facilitates creating a custom cursor in bevy-based app. Uses bevy's ImageBundle to replace the original cursor with a moving UI element.

Instalation

From inside of your project

  • run:
    cargo add siiir-bevy_fancy_cursor
  • or add to manifest file (Cargo.toml) under [dependencies]
    bevy_fancy_cursor = { git = "https://github.com/Siiir/bevy_fancy_cursor" }

Example usage

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        // Plugin does its job in `bevy::app::StartupStage::PostStartup` when camera is already spawned.
        .add_plugin(
            bevy_fancy_cursor::CursorSettings::basic()
                .img_path("fancy cursor.png")
                .size(Size::new(Val::Px(50.0), Val::Px(70.0)))
                .build()
        )
        // You can spawn camera in `bevy::app::StartupStage::Startup`, which is (AND MUST BE) BEFORE `PostStartup`.
        .add_startup_system(spawn_camera)
        .run()
}

fn spawn_camera(mut commands: Commands){
    commands.spawn((
        bevy_fancy_cursor::UserCamera, // Obligatory marker for user camera. Other cameras will be ignored and won't get special cursor.
        Camera2dBundle::default(),
    ));
}

Produces this app with a fancy cursor from the "./assets" folder.

Image picturing resulting app.

To run the above example with contained asset.

Download the version I used when creating it. cargo run it. Enjoy.

Contribute

if you want to see project growing and FancyCursor becoming more generic.

Contact

tomasz_nehring@outlook.com

About

Facilitates creating custom cursor in bevy-based app. Uses bevy's `ImageBundle` to replace the original cursor with moving UI element.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages