bevy/examples/input_mouse.rs

35 lines
1.1 KiB
Rust
Raw Normal View History

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