keys.rs 886 B

12345678910111213141516171819202122232425262728293031323334
  1. #[derive(Debug)]
  2. pub struct Input {
  3. right: f32,
  4. up: f32,
  5. }
  6. impl Input {
  7. pub fn new() -> Input {
  8. Input {
  9. right: 0.0,
  10. up: 0.0,
  11. }
  12. }
  13. pub fn handle_down(&mut self, kc: winit::VirtualKeyCode) {
  14. match kc {
  15. winit::VirtualKeyCode::W => self.up -= 1.0,
  16. winit::VirtualKeyCode::A => self.right -= 1.0,
  17. winit::VirtualKeyCode::S => self.up += 1.0,
  18. winit::VirtualKeyCode::D => self.right += 1.0,
  19. _ => (),
  20. }
  21. }
  22. pub fn handle_up(&mut self, kc: winit::VirtualKeyCode) {
  23. match kc {
  24. winit::VirtualKeyCode::W => self.up += 1.0,
  25. winit::VirtualKeyCode::A => self.right += 1.0,
  26. winit::VirtualKeyCode::S => self.up -= 1.0,
  27. winit::VirtualKeyCode::D => self.right -= 1.0,
  28. _ => (),
  29. }
  30. }
  31. }