java - 如何通过按键在两个数字之间切换?
问题描述
numbers
我需要按键在两者之间切换"q"
。
第一次按下:
number = 1;
第二次按下:
number = 2;
第三次按下:
number = 1;
第四次按下:
number = 2;
ETC
得到method
并且variable
:
private static int counter = 0;
private int switchNumbers() {
if (Gdx.input.isKeyJustPressed(Input.Keys.Q)){
counter = 1;
}
if (counter == 1 && Gdx.input.isKeyJustPressed(Input.Keys.Q)){
counter = 2;
}
if (counter == 2 && Gdx.input.isKeyJustPressed(Input.Keys.Q)){
counter = 1;
}
return counter;
}
variable counter
总是等于 1。
怎样才能实现呢(switching numbers)
?
解决方案
您可以检查计数器的当前值是多少,如果它的 1 然后放 2 否则放 1:
通过ternary opeator
:
private static int counter = 0;
private int switchNumbers() {
if (Gdx.input.isKeyJustPressed(Input.Keys.Q)) {
counter = counter == 1 ? 2 : 1;
}
return counter;
}
或简单使用if-else
:
private int switchNumbers() {
if (Gdx.input.isKeyJustPressed(Input.Keys.Q)) {
if(counter == 1) {
counter = 2;
} else {
counter = 1;
}
}
return counter;
}
推荐阅读
- java - 无法使用 keycloak-admin-client 在 Keycloak 中创建用户
- html - Flexbox justify-content 不适用于 flex-flow 列
- haskell - 在 filterM 中,为什么在创建所有列表后评估一次“return (if b then x:ys else ys)”?
- html - 如何让我的文本与容器的高度相同?
- discord.js - 报告命令只检测命令本身,而不是用户提到的
- java - 将另一个对象传递给当前的休息服务不会引发异常
- react-native - 运行更新后的 Androidx 和 gradle 功能错误
- blockchain - 为什么区块链网络会随着块大小达到其极限而变慢?
- javascript - 从第一个数组中删除重复的索引值,按照第一个操作第二个(在某些特定条件下)
- ionic-framework - 当 nav.push 组件时,IONIC NavController 是如何工作的?