Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/examples/input/mouse_input_events.rs
6849 views
1
//! Prints all mouse events to the console.
2
3
use bevy::{
4
input::{
5
gestures::*,
6
mouse::{MouseButtonInput, MouseMotion, MouseWheel},
7
},
8
prelude::*,
9
};
10
11
fn main() {
12
App::new()
13
.add_plugins(DefaultPlugins)
14
.add_systems(Update, print_mouse_events_system)
15
.run();
16
}
17
18
/// This system prints out all mouse events as they come in
19
fn print_mouse_events_system(
20
mut mouse_button_input_reader: MessageReader<MouseButtonInput>,
21
mut mouse_motion_reader: MessageReader<MouseMotion>,
22
mut cursor_moved_reader: MessageReader<CursorMoved>,
23
mut mouse_wheel_reader: MessageReader<MouseWheel>,
24
mut pinch_gesture_reader: MessageReader<PinchGesture>,
25
mut rotation_gesture_reader: MessageReader<RotationGesture>,
26
mut double_tap_gesture_reader: MessageReader<DoubleTapGesture>,
27
) {
28
for mouse_button_input in mouse_button_input_reader.read() {
29
info!("{:?}", mouse_button_input);
30
}
31
32
for mouse_motion in mouse_motion_reader.read() {
33
info!("{:?}", mouse_motion);
34
}
35
36
for cursor_moved in cursor_moved_reader.read() {
37
info!("{:?}", cursor_moved);
38
}
39
40
for mouse_wheel in mouse_wheel_reader.read() {
41
info!("{:?}", mouse_wheel);
42
}
43
44
// This event will only fire on macOS
45
for pinch_gesture in pinch_gesture_reader.read() {
46
info!("{:?}", pinch_gesture);
47
}
48
49
// This event will only fire on macOS
50
for rotation_gesture in rotation_gesture_reader.read() {
51
info!("{:?}", rotation_gesture);
52
}
53
54
// This event will only fire on macOS
55
for double_tap_gesture in double_tap_gesture_reader.read() {
56
info!("{:?}", double_tap_gesture);
57
}
58
}
59
60