【发布时间】:2017-04-07 11:11:25
【问题描述】:
您好,我正在尝试用 java 制作一个乒乓球游戏,除了碰撞部分,一切都很好。我首先使用 Bounds 类和 intersects 方法来解决这个碰撞问题,但是这个方法只适用于我画的图片所示的碰撞情况。
所以我自己编写了新代码,而不是使用 Bounds 类,并且我成功地创建了用于侧面碰撞检测的方法,但我再次很难解决桨顶部和底部的碰撞检测。
public boolean collideRight(Ball ball){
if(ball.getLayoutX()+ball.getRadius()>=player.getLayoutX()&&(ball.getLayoutY()+ball.getRadius()>=player.getLayoutY()&&ball.getLayoutY()-ball.getRadius()<=player.getLayoutY()+height)){
return true;
}
else{
return false;
}
}
这是我为顶部和底部碰撞检测所做的方法。
public boolean collideRightUpSide(Ball ball){
if((ball.getLayoutX()+ball.getRadius()>=player.getLayoutX()&&ball.getLayoutX()-ball.getRadius()<=player.getLayoutX()+width)&&(ball.getLayoutY()+ball.getRadius()>=player.getLayoutY()&&ball.getLayoutY()-ball.getRadius()<=player.getLayoutY()+height)){
return true;
}
else{
return false;
}
}
谁能帮帮我。
【问题讨论】:
-
我真的不是要粗鲁,但您应该阅读游戏物理/碰撞基础知识。这东西很复杂,有几种方法。
-
那么我应该在谷歌上输入游戏物理/碰撞基础知识吗?顺便说一句,非常感谢你的建议,我真的很感激。这是我第一次在 stackoverflow 上发布问题,人们比我预期的超级支持。谢谢你:)
标签: java collision-detection pong