我目前正在开发一款小游戏。在你开始游戏之前,我有一个JFrame,你可以设置你的控制器。要做到这一点,我使用java内置keylistener,它工作得很好。 当我开始游戏并且你所做的设置不起作用时会出现问题。
游戏使用lwjgl api和slick2d api以及当我检查按钮时的键码与keylistener中内置的键码不同。
http://slick.ninjacave.com/javadoc/constant-values.html#org.newdawn.slick.Input.KEY_DOWN
光滑使用的密钥代码列表。正如您可以看到它与此列表不同
http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
有没有办法在这两者之间进行转换?
我尝试添加常量,但您可能会发现它不起作用。
我感谢每一个答案:)
答案 0 :(得分:0)
我现在做了一点解决方案。非常简单也许不是最有效但却有效。花了一些时间
我制作了一个用于转换的小清单。可能是一些错误,但它们很容易解决。
backspace 8 14
space 32 57
tab 9 15
enter 13 28
enter2 10 28
shift 16 42
ctrl 17 29
alt 18 56
pause 19 197
caps 20 58
escape 27 1
pgup 33 201
pgdo 34 209
end 35 207
home 36 199
left 37 203
up 38 200
right 39 205
down 40 208
insert2 155 210
delete 127 211
0 48 11
1 49 2
2 50 3
3 51 4
4 5 5
5 53 6
6 54 7
7 55 8
8 56 9
9 57 10
A 65 30
B 66 48
C 67 46
D 68 32
E 69 18
F 70 33
G 71 34
H 72 35
I 73 23
J 74 36
K 75 37
L 76 38
M 77 50
N 78 49
O 79 24
P 80 25
Q 81 16
R 82 19
S 83 31
T 84 20
U 85 22
V 86 47
W 87 17
X 88 45
Y 89 21
Z 90 44
Å 16777413 27
Ä 16777412 40
Ö 16777430 41
LWK 91 219
RWK 92 220
WINDOWS 524 219
SELECT 93 221
NUMPAD0 96 82
NUMPAD1 97 79
NUMPAD2 98 80
NUMPAD3 99 81
NUMPAD4 100 75
NUMPAD5 101 76
NUMPAD6 102 77
NUMPAD7 103 71
NUMPAD8 104 72
NUMPAD9 105 73
MULTIPLY 106 55
ADD 107 78
SUBTRACT 109 74
DECIMAL 110 83
DIVIDE 111 181
F1 112 59
F2 113 60
F3 114 61
F4 115 62
F5 116 63
F6 117 64
F7 118 65
F8 119 66
F9 120 67
F10 121 68
F11 122 87
F12 123 88
F13 124 100
F14 125 101
F15 126 102
NUMLOCK 144 69
SCROLLOCK2 145 70
SEMICOLON 186 39
EQUALSIGN 187 13
COMMA 188 51
COMMA2 44 51
DASH 189 12
PERIOD 190 52
PERIOD2 46 52
FORWARDSLASH 191 53
GRAVE 192 41
OPENBRACKET 219 26
BACKSLASH 220 43
CLOSEBRAKET 221 27
SINGLEQUOTE 222 40
§ 16777383 43
LESS 153 -1
DEADACUTE 129 -1
PLUS 521 13
MINUS 45 12
DeadDiaeresis 135 144