我正在寻找一些与键盘交互的例子,并偶然发现了我觉得有趣的代码。但是我很难理解它的某个部分(它标记在下面)。我不知道所有这整个''布尔''声明,''切换''和''CASE''如何工作,我试过看看参考但仍然。有人可以用简单的方式解释这些是如何工作的吗?
float x = 300;
float y = 300;
float speed = 5;
boolean isLeft, isRight, isUp, isDown;
int i = 0;
void keyPressed() {
setMove(keyCode, true);
if (isLeft ){
x -= speed;
}
if(isRight){
x += speed;
}
}
void keyReleased() {
setMove(keyCode, false);
}
boolean setMove(int k, boolean b) {// <<<--- From this part down
switch (k) {
case UP:
return isUp = b;
case DOWN:
return isDown = b;
case LEFT:
return isLeft = b;
case RIGHT:
return isRight = b;
default:
return b; }
}
答案 0 :(得分:1)
这些问题最好由the reference回答:
与
if else
结构类似,但当您需要在三个或更多选项之间进行选择时,switch()
会更方便。程序控件跳转到具有与表达式相同值的大小写。除非由break
重定向,否则将执行交换机中的所有剩余语句。只能转换为整数(byte,char和int)的原始数据类型可用作表达式参数。默认值是可选的。
其余的代码是将相应的变量设置为您作为b
参数传入的任何值,然后返回它。
你应该养成debugging代码的习惯。添加打印语句以确切了解代码的作用。