如果启用,则不是,但如果是,则不是

时间:2013-07-28 19:27:09

标签: java if-statement

if(Camb.killaura){
    Camb.vkillaura = false;
}

if(Camb.vkillaura){
    Camb.killaura = false;
}

我正在为一款名为Minecraft的游戏制作一个modded客户端。有两种类型的杀戮光环,一种适用于某些服务器,另一种适用于其他服务器。假设我已经开启了VKillaura,而我想使用KillAura,我会按下一个按钮,然后他们就会切换。这有效。但是,如果我正在使用KillAura并且我想切换到VKillAura,它将不会让我。我想这是因为Eclipse从上到下阅读,而我的VKillaura if语句低于我的杀戮光环。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

如果我正确地理解你,这可能有点紧张,当你按下切换按钮时(假设你知道你已经正确地初始化它),你并不需要担心当前的状态。你可以简单地切换两个光环。当然,你需要正确地初始化它们,如果这是不切实际的,你需要使用不同的解决方案。

// When toggle aura button is pressed, toggle both auras to switch.
Camb.vkillaura = !Camb.vkillaura
Camb.killaura = !Camb.killaura

如果您因任何原因需要完全处理它(例如,稍后会添加更多选项),您可以尝试以下方法:

if (Camb.killaura) {
    Camb.killaura = false;
    Camb.vkillaura = true;
} else if (Camb.vkillaura) {
    Camb.vkillaura = false;
    Camb.killaura = true;
}

答案 1 :(得分:1)

如果一个人总是打开而因此另一个人关闭,你也可以使用一个布尔标志。