我正在制作游戏,我希望控件是可编辑的。好吧,我已经把那部分记下来了,但是它们正在被读取和更改为 .txt 文件。这就是我希望它现在工作的方式。这些值存储为键值(即 KeyEvent.VK_W 等于 83,因此该行的值为 83)。我还让它读取值并将它们保存到我的核心类中的字符串数组变量中。在我的键事件类中,处理按键的推送,我让它引用数组来检查是否按下了命令键。我不断收到此错误:case expressions must be constant expressions
当我尝试时。这是错误的代码:
switch(key){
case Integer.parseInt(commands[1]):
...
break;
}
我得到了那个错误。的值为commands[1]
83。它是“W”的值。这是我对变量的声明:
for (int i = 0; i < commands.length; i++) {
commands[i] = io.readSpecificLine(FILES.controlsFileFinalDir,
i + 1);
}
如果我让它打印出每个值,它确实有效。我试过制作阵列final
,但没有奏效。大约 2 年前,我曾经遇到过该解决方案,但我再也找不到它了。有人对如何解决这个问题有任何想法吗?提前致谢!