1 unstable release
0.1.0 | Nov 29, 2024 |
---|
#565 in Game dev
121 downloads per month
6KB
64 lines
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 framey
: Change in rotation around the y-axis (in radians) per framez
: Change in rotation around the z-axis (in radians) per frame
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Dependencies
~27MB
~519K SLoC