Donc j'essaie de faire un jeu simple et j'ai besoin de la balle pour rebondir sur la pagaie. En ce moment, j'ai la balle qui rebondit bien autour de la fenêtre mais elle passe à travers la pagaie et j'ai de la difficulté à la faire rebondir sur la pagaie de manière réaliste. C'est le code que j'ai qui fait rebondir la balle hors des murs et il fonctionne parfaitement:(Java) Balle rebondir de manière réaliste
//advance the ball
ball.advance();
//check if ball should bounce off canvas sides
if(ball.getCenterX()+ ball.getRadius() > canvas.getWidth()) ball.setDirectionX(LEFT);
if(ball.getCenterX() - ball.getRadius() <0) ball.setDirectionX(RIGHT);
if(ball.getCenterY()+ ball.getRadius() > canvas.getHeight()) ball.setDirectionY(UPWARDS);
if(ball.getCenterY() - ball.getRadius() < 0) ball.setDirectionY(DOWNWARDS);
Le problème est que je ne sais pas si je les modifier si des déclarations ou ajouter plus et je ne suis pas sûr comment faire rebondir la balle correctement. J'essayé d'ajouter quelques déclarations et si le meilleur que je suis arrivé était: GIF of game Les déclarations que j'ai ajouté étaient:
if(ball.getCenterY()+ ball.getRadius() > paddle.getTopLeftY()) ball.setDirectionY(UPWARDS); if(ball.getCenterY()+ ball.getRadius() < paddle.getTopLeftX()) ball.setDirectionY(DOWNWARDS);
Merci pour toute aide que vous pourriez donner :)
envisager de fournir [exemple runnable] (https: // stackoverflow .com/help/mcve) qui montre votre problème. Ce n'est pas un vidage de code, mais un exemple de ce que vous faites qui met en évidence le problème que vous rencontrez. Cela entraînera moins de confusion et de meilleures réponses – MadProgrammer
Je pense que j'ai trop de code pour faire un court exemple exécutable/Je ne sais pas vraiment comment parce que j'utilise un couple de classes. Je pourrais poster des parties spécifiques si cela peut vous aider à m'aider. Le problème est que je n'arrive pas à comprendre comment configurer les instructions if pour que la balle rebondisse sur la raquette et monte ou touche le fond si elle rate la raquette. Avec juste le premier morceau de code que j'ai posté, il ressemble à ceci: https://gyazo.com/7b51794a6e5e474b508cf442ddebc8dc La balle rebondit autour de la fenêtre trouver mais va à travers la pagaie et im essayant de comprendre chaud pour le faire rebondir . – user3390522