我一直通过尝试制作一个球跳跃的小游戏来学习Java。我已经有了三个类(JumpingBall3、BallSprite3和Floor),并成功实现了某种形式的重力、可靠的跳跃,以及对地板的碰撞检测,可以避免球无限下落。然而,在最后一个问题上,我发现了未来开发中可能存在的问题。目前,我通过JumpingBall3创建了两个地板(“floor1”和“platform”),并使用以下代码在BallSpite3中检测碰撞:
public boolean collision()
{
if (game.floor1.getBounds().intersects(getBounds()) || game.platform.getBounds().intersects(getBounds())) {
onFloor = true;
}
else
{
onFloor = false;
}
return onFloor;
}
如果我继续添加更多的楼层或平台,那么“if”条件将很快脱离控制而变得非常冗长。是否有一种方法可以创建一个方法来循环遍历在我的JumpingBall3类中创建的所有可见的Floor对象?
我已经在这里发布了完整代码,将它放在这篇文章中似乎有点冗长。