java - 多个 If 语句 - 仅检查一次玩家碰撞

标签 java if-statement

我目前正在制作一款游戏,对于玩家的移动,我有 if 语句来检查您是否撞到了墙上。

这是我正在做的一个小例子:

if(!(player.intersects(wall1)){

        // move

}

但是,我的问题是,现在我为不同的级别添加了更多的墙,if 语句变得有点不稳定。例如,添加第二堵墙:

    if(!(player.intersects(wall1)){

            // move

    }
    if(!(player.intersects(wall2)){

            // move

    }

但这只会使移动速度加倍,因为如果你没有撞到任何墙壁,这两个结果都是 true。

我尝试过的

我尝试向其中添加其他内容,如下所示:

if(!(player.intersects(wall1)){

        // move

} else
if(!(player.intersects(wall2)){

        // move

}

但这将导致不检查两面墙。

如何添加多个 if 语句来有效检查多个墙壁?

最佳答案

你要做的是检查它是否撞到任何墙壁,如果没有,则移动

if(!(player.intersects(wall1) && !(player.intersects(wall2) /* and so on */){

        // move

}

关于java - 多个 If 语句 - 仅检查一次玩家碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41176867/

相关文章:

excel - If/And/Match 公式仅返回第一个结果 - 需要整个范围

java - 如何通过解析仅包含数据成员名称及其数据类型的 xml 在运行时创建 java 类?

java - "./file"名称和 "../file name"有什么区别

java - @executable_path在Java程序中指向哪里

c - "= "而不是 "== "在 c if 语句中意味着什么?

python - 在Python中高效使用字典中的条件语句

java - 在 Eclipse 中将 joptimizer 作为外部 JAR 文件导入失败

java - 在 Struts 2 中提交表单后,JSP 显示属性名称而不是值

带有 IF 条件的 MySQL JOIN

swift - 在 Swift 中减少 "if statements"(可能使用三元运算符)