bevy_gyroscope

Crates.iobevy_gyroscope
lib.rsbevy_gyroscope
version0.1.0
sourcesrc
created_at2024-11-29 18:50:05.828183
updated_at2024-11-29 18:50:05.828183
descriptionA Bevy plugin that provides gyroscope functionality.
homepage
repositoryhttps://github.com/gradddev/bevy_gyroscope
max_upload_size
id1465935
size6,236
Alex Grad (gradddev)

documentation

README

Bevy Gyroscope Plugin

[!WARNING]
This plugin currently only supports iOS devices.

A Bevy plugin that provides gyroscope functionality.

Installation

You can add this plugin to your project using cargo:

cargo add bevy_gyroscope

Or manually add it to your Cargo.toml:

[dependencies]
bevy_gyroscope = "0.1.0"  # replace with actual version

Usage

use bevy::prelude::*;
use bevy_gyroscope::{GyroscopePlugin, Gyroscope};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        // Add the gyroscope plugin with default settings (60Hz update frequency)
        .add_plugins(GyroscopePlugin::default())
        .add_systems(Update, use_gyroscope_data)
        .run();
}

fn use_gyroscope_data(gyroscope: Res<Gyroscope>) {
    println!("Gyroscope: x={}, y={}, z={}", 
        gyroscope.x, 
        gyroscope.y, 
        gyroscope.z
    );
}

Custom Configuration

You can customize the update frequency when adding the plugin:

.add_plugins(GyroscopePlugin { frequency: 120.0 })

Resource Components

The plugin provides a Gyroscope resource that contains the rotation delta (change in rotation) for the current frame:

  • x: Change in rotation around the x-axis (in radians) per frame
  • y: Change in rotation around the y-axis (in radians) per frame
  • z: Change in rotation around the z-axis (in radians) per frame

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Commit count: 2

cargo fmt