-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathexample.rs
38 lines (32 loc) · 1.36 KB
/
example.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use winit::event::VirtualKeyCode;
use winit::event_loop::{ControlFlow, EventLoop};
use winit::window::WindowBuilder;
use winit_input_helper::WinitInputHelper;
fn main() {
let mut input = WinitInputHelper::new();
let event_loop = EventLoop::new();
let _window = WindowBuilder::new().build(&event_loop).unwrap();
event_loop.run(move |event, _, control_flow| {
// Pass every event to the WindowInputHelper.
// It will return true when the last event has been processed and it is time to run your application logic.
if input.update(&event) {
// query keypresses this update
if input.key_pressed(VirtualKeyCode::A) {
println!("The 'A' key was pressed on the keyboard");
}
if input.key_released(VirtualKeyCode::Q) || input.quit() {
*control_flow = ControlFlow::Exit;
return;
}
// query the change in mouse this update
let mouse_diff = input.mouse_diff();
if mouse_diff != (0.0, 0.0) {
println!("The mouse diff is: {:?}", mouse_diff);
println!("The mouse position is: {:?}", input.mouse());
}
// You are expected to control your own timing within this block.
// Usually via rendering with vsync.
// render();
}
});
}