input.js 863 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. class InputHandler {
  2. constructor() {
  3. this.keys = {
  4. a: false,
  5. d: false,
  6. ArrowLeft: false,
  7. ArrowRight: false
  8. };
  9. this.init();
  10. }
  11. init() {
  12. window.addEventListener('keydown', (e) => {
  13. if (this.keys.hasOwnProperty(e.key)) {
  14. e.preventDefault();
  15. this.keys[e.key] = true;
  16. }
  17. });
  18. window.addEventListener('keyup', (e) => {
  19. if (this.keys.hasOwnProperty(e.key)) {
  20. e.preventDefault();
  21. this.keys[e.key] = false;
  22. }
  23. });
  24. }
  25. isMovingLeft() {
  26. return this.keys.a || this.keys.ArrowLeft;
  27. }
  28. isMovingRight() {
  29. return this.keys.d || this.keys.ArrowRight;
  30. }
  31. }
  32. const input = new InputHandler();