【发布时间】:2017-08-05 11:07:30
【问题描述】:
我正在使用 Java 在一个盒子周围运行球。通过使用这段代码,它会从边缘反弹。
if (y >= borderBottom)
{
y = border;
speedOfY = -speedofY;
}
我的球盒上有一个洞。如果球击中球洞,我希望球继续穿过空隙。
我希望 if 语句一直运行到:
它在 x(洞)上的两点之间
在 y 轴的边界底部(孔的一侧)。
我怎样才能做到这一点?我知道我需要使用simulation.pauseSimulation() 但我不知道如何让球在两点之间和边界底部时特别停止,谢谢!
之后我尝试过使用前面的语句,
if(y >= borderBottom && (x < 275) && (x > 325>))
simulation.pauseSimulation()
但我玩过,模拟忽略了整个底部边框,并且在某一时刻所有对象都闪烁了。
【问题讨论】:
-
跟踪前一个球的位置,如果检测到球刚刚落到底部,检查两个球位置之间的直线是否越过边界段?
-
你能告诉我们你的尝试吗?
-
@bipll 我用过 if (y >= borderBottom && (x 325>)) simulation.pauseSimulation() 但问题是我需要这个语句来覆盖如果所有条件都满足,则另作声明。这可能吗?
-
hmmm...
x不能同时 小于 275 和 大于 325 — 是你确定你的价值观没有颠倒吗?
标签: java if-statement bluej