-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyKeyListener.java
More file actions
47 lines (43 loc) · 1.75 KB
/
MyKeyListener.java
File metadata and controls
47 lines (43 loc) · 1.75 KB
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
39
40
41
42
43
44
45
46
47
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class MyKeyListener implements KeyListener {
// This class is used to detect key presses and releases
public boolean up = false;
public boolean down = false;
public boolean left = false;
public boolean right = false;
public boolean rotateLeft = false;
public boolean rotateRight = false;
public boolean space = false;
public boolean enter = false;
public boolean esc = false;
@Override
public void keyPressed(KeyEvent keyEvent) { // If a key is pressed, set the corresponding boolean to true
switch (keyEvent.getKeyCode()) {
case KeyEvent.VK_W -> up = true;
case KeyEvent.VK_S -> down = true;
case KeyEvent.VK_A -> left = true;
case KeyEvent.VK_D -> right = true;
case KeyEvent.VK_LEFT -> rotateLeft = true;
case KeyEvent.VK_RIGHT -> rotateRight = true;
case KeyEvent.VK_SPACE -> space = true;
case KeyEvent.VK_ENTER -> enter = true;
case KeyEvent.VK_ESCAPE -> esc = true;
}
}
@Override
public void keyReleased(KeyEvent keyEvent) { // If a key is released, set the corresponding boolean to false
switch (keyEvent.getKeyCode()) {
case KeyEvent.VK_W -> up = false;
case KeyEvent.VK_S -> down = false;
case KeyEvent.VK_A -> left = false;
case KeyEvent.VK_D -> right = false;
case KeyEvent.VK_LEFT -> rotateLeft = false;
case KeyEvent.VK_RIGHT -> rotateRight = false;
case KeyEvent.VK_SPACE -> space = false;
case KeyEvent.VK_ENTER -> enter = false;
}
}
@Override
public void keyTyped(KeyEvent keyEvent) {}
}