【发布时间】:2017-02-09 08:37:04
【问题描述】:
我一直在通过尝试一个小“游戏”来学习 Java,该“游戏”从尝试跳球开始。我有 3 个课程(JumpingBall3、BallSprite3 和 Floor),并且已经实现了某种重力、始终如一的跳跃以及对地板的检测以阻止球无限下落。最后一点,我发现了未来发展的潜在问题。现在我有两个由 JumpingBall3(“floor1”和“platform”)创建的楼层,我使用以下代码检测 BallSite3 内的碰撞:
public boolean collision()
{
if (game.floor1.getBounds().intersects(getBounds()) || game.platform.getBounds().intersects(getBounds())) {
onFloor = true;
}
else
{
onFloor = false;
}
return onFloor;
}
如果我要继续添加更多楼层或平台,那么“如果”条件在长度方面很快就会失控。有没有办法创建一个循环遍历在我的 JumpingBall3 类中创建的所有可见 Floor 对象的方法?
我已经在网上发布了完整的代码here,在这篇文章中包含似乎有点冗长。
【问题讨论】:
标签: java collision-detection collision