#bevy-plugin #cursor #bevy #camera #window #2d-3d

bevy_cursor

A bevy plugin to track information about the cursor

5 releases (3 breaking)

0.4.0 Jul 6, 2024
0.3.0 Feb 20, 2024
0.2.0 Nov 6, 2023
0.1.1 Aug 13, 2023
0.1.0 Aug 11, 2023

#568 in Game dev

24 downloads per month

MIT/Apache

33KB
120 lines

Bevy Cursor

Latest Version Bevy Tracking Doc Status Build Status

Bevy Cursor is a bevy plugin to track information about the cursor.


This plugin will track information about the position of the cursor, the window, and the camera that contains it and compute the position of the pointed point in the world position system.

Example

use bevy::prelude::*;
use bevy_cursor::prelude::*;

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, TrackCursorPlugin))
        .add_systems(Startup, setup)
        .add_systems(Update, print_cursor_position)
        .run();
}

fn setup(mut commands: Commands) {
    // A camera is required to compute the world position of the cursor
    commands.spawn(Camera2dBundle::default());
}

fn print_cursor_position(cursor: Res<CursorLocation>) {
    if let Some(position) = cursor.position() {
        info!("Cursor position: {position:?}");
    } else {
        info!("The cursor is not in any window");
    }
}

Features

  • 2d opt-in the computation of the world position of the cursor.
  • 3d opt-in the computation of the ray emitted by the cursor through the camera.

Bevy compatible version

bevy bevy_cursor
0.14 0.4
0.13 0.3
0.12 0.2
0.11 0.1

Dependencies

~36–73MB
~1.5M SLoC