Так что я пытаюсь сделать простую игру, и мне нужен мяч, чтобы отскакивать от весла. Прямо сейчас у меня есть мяч, прыгающий по окну, но он проходит через весло, и у меня возникают проблемы с его реалистичным отскоком от весла. Это код, у меня есть, что делает отскок мяча от стен, и это работает прекрасно:(Java) Мяч отскакивает от весла реалистичным способом
//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);
Проблема в том, что я не уверен, что если заявления должны изменить эти или добавить больше, и я не уверен, как заставить мяч правильно отскакивать от весла. Я попытался добавить пару если заявления и лучший, что я получил это: GIF of game Заявления, которые я добавил было:
if(ball.getCenterY()+ ball.getRadius() > paddle.getTopLeftY()) ball.setDirectionY(UPWARDS); if(ball.getCenterY()+ ball.getRadius() < paddle.getTopLeftX()) ball.setDirectionY(DOWNWARDS);
Спасибо за любую помощь вы могли бы дать :)
Рассматривают обеспечение [работоспособный пример] (https: // StackOverflow .com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам. – MadProgrammer
Я думаю, что у меня слишком много кода, чтобы сделать короткий исполняемый пример/я действительно не знаю, потому что я использую пару классов. Я мог бы опубликовать конкретные детали, если это поможет вам помочь мне. Проблема в том, что я не могу понять, как настроить инструкции if, чтобы мяч отскакивал от весла и поднимался или ударялся о нижнюю, если он пропустил весло. С первым куском кода, который я разместил, он выглядит так: https://gyazo.com/7b51794a6e5e474b508cf442ddebc8dc. Мяч отскакивает вокруг окна, но идет прямо через весло, и я пытаюсь разобраться в нем, чтобы заставить его подпрыгнуть , – user3390522