Я искал, как усовершенствовать движение в Java. Код, который я нашел, выглядел так:
public void update() {
for (int i = 0; i < AMOUNT_KEYS; i++) {
keysLast[i] = keys[i]; ////Sets buttons pressed this frame equal to the lastKey array
}
for (int i = 0; i < AMOUNT_BUTTONS; i++) {
buttonsLast[i] = buttons[i]; //Sets buttons pressed this frame equal to the lastKey array
}
}
//keys Methods
public boolean isKeyPressed(int keycode) {
return keys[keycode];
}
public boolean isKeyUp(int keycode) {
return !keys[keycode] && keysLast[keycode]; //Does not return 2 values, it returns true if these conditions are met?
}
public boolean isKeyDown(int keycode) {
return keys[keycode] && !keysLast[keycode];
}
Мне было интересно, верна ли моя мысль об этом фрагменте, мое предположение прокомментировано рядом с ним:
public boolean isKeyUp(int keycode) {
return !keys[keycode] && keysLast[keycode]; //Does not return 2 values, it returns true if these conditions are met?
}
public boolean isKeyDown(int keycode) {
return keys[keycode] && !keysLast[keycode];
}
Мне кажется, что на мой взгляд что методы isKeyDown
и isKeyUp
возвращают 2 логических значения. Я думал, что это невозможно. Но я проверил это, и похоже, что он действует как оператор if? . Так что, если оператор после команды возврата верен, он вернет истину?
Я прав? Если так, то почему это так? Есть ли где-нибудь do c, где я могу прочитать об этом?