bevy/examples/input_mouse.rs

35 lines
1.1 KiB
Rust
Raw Normal View History

2020-04-06 16:15:59 -07:00
use bevy::{
input::mouse::{MouseButtonInput, MouseMotion},
prelude::*,
};
2020-04-04 23:42:39 -07:00
fn main() {
App::build()
.add_default_plugins()
.build_system(mouse_input_system)
.run();
}
/// prints out mouse events as they come in
2020-04-04 23:42:39 -07:00
pub fn mouse_input_system(resources: &mut Resources) -> Box<dyn Schedulable> {
2020-04-05 00:32:53 -07:00
let mut mouse_button_input_event_reader = resources.get_event_reader::<MouseButtonInput>();
let mut mouse_motion_event_reader = resources.get_event_reader::<MouseMotion>();
2020-04-04 23:42:39 -07:00
SystemBuilder::new("mouse_input")
2020-04-05 00:32:53 -07:00
.read_resource::<Events<MouseButtonInput>>()
.read_resource::<Events<MouseMotion>>()
2020-04-04 23:42:39 -07:00
.build(
2020-04-06 16:15:59 -07:00
move |_command_buffer,
_world,
(mouse_button_input_events, mouse_motion_events),
_queries| {
2020-04-05 00:32:53 -07:00
for event in mouse_button_input_events.iter(&mut mouse_button_input_event_reader) {
println!("{:?}", event);
}
for event in mouse_motion_events.iter(&mut mouse_motion_event_reader) {
2020-04-04 23:42:39 -07:00
println!("{:?}", event);
}
},
)
2020-04-06 16:15:59 -07:00
}