Hallo Ich versuche, ein Pong-Spiel mit Java zu machen und alles funktioniert gut außer Kollisionsteil. Ich habe zuerst die Bounds-Klasse und die Schnittpunktmethode verwendet, um dieses Kollisionsproblem zu lösen, aber diese Methode funktioniert nur für den Kollisionsfall, der auf dem Bild gezeigt wird, das ich gezeichnet habe.Java Pong Kollisionserkennung
Also schrieb ich neuen Code selbst, anstatt die Bounds-Klasse zu verwenden, und ich erfolgreich Verfahren für die Seitenkollisionserkennung erstellt, aber ich habe wieder harte Zeit Kollisionserkennung für die oberen und unteren Rand des Paddels zu lösen .
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;
}
}
und dies ist die Methode, die ich für die obere und untere Kollisionserkennung gemacht habe.
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;
}
}
Kann mir bitte jemand helfen.
ich meine wirklich nicht unhöflich sein, aber man sollte auf Spiel-Physik/Kollision Grundlagen nachlesen. Dieses Zeug ist komplex und es gibt mehrere Ansätze. – domsson
Also sollte ich einfach Spielphysik/Kollisionsgrundlagen auf Google eingeben? Übrigens vielen Dank für den Rat, den ich wirklich schätze. Dies ist meine erste Frage zum Stackoverflow und die Leute sind super unterstützend, als ich erwartet hatte. Danke :) –