Посмотрел документацию для библиотеки, и, похоже, он не обнаруживает другого способа получения нажатий клавиш (в частности, нажатия клавиш/отпускания). В таком случае вы можете отслеживать изменения самих изменений с помощью переменной spaceAlreadyPressed
, которая сохраняется между кадрами.
...
boolean spaceIsPressed = Gdx.input.isKeyPressed(Keys.SPACE);
if (spaceIsPressed && !spaceAlreadyPressed) {
shoot();
}
...
spaceAlreadyPressed = spaceIsPressed;
Это может быть безопаснее использовать spaceIsPressed
переменную в случае, если входное состояние изменяется неожиданно.
В качестве альтернативы, если вы хотите, чтобы сделать его короче, вы можете использовать логические законы сводятся к следующему, где canShoot
также сохраняется между кадрами и имеет начальное значение false
.
Да, это намного лучше. – Zong