public void update()
{
if(w)
{
System.out.println("updated");
pop.player1.movePlayer1(true);
}
if(s)
{
System.out.println("updated");
pop.player1.movePlayer1(false);
}
if(up)
{
System.out.println("updated");
pop.player2.movePlayer2(true);
}
if(down)
{
pop.player2.movePlayer2(false);
}
System.out.println("updated");
ball.moveBall(renderer);
renderer.repaint();
}
Таким образом, около 2 минут назад консоль выдала спам «обновлен», но после того, как я изменил несколько вещей, теперь это не так, «средство визуализации» ссылается на paintComponent, класс имеет следующую строку кода:
Ball ball = new Ball();
Я подозреваю, что это, вероятно, корень моей проблемы, но я точно не знаю, метод "moveBall" выглядит следующим образом:
public void moveBall(Renderer renderer)
{
renderer.ball.PosY += renderer.ball.BallYSpeed[randIndexY];
renderer.ball.PosX += renderer.ball.BallXSpeed[randIndexX];
//hitting bottom
if(renderer.ball.PosY + renderer.ball.BallYSpeed[randIndexY]*2 >= (screenSize.getHeight()) ||
renderer.ball.PosY + renderer.ball.BallYSpeed[randIndexY]*2 <= 0)
{
reverseY();
}
//hitting p1 paddle
if((renderer.ball.PosX + renderer.ball.BallXSpeed[randIndexX]*2 <= PongPlusPlus.player1.x + PongPlusPlus.player1.width)&&
(PongPlusPlus.player1.y <=renderer.ball.PosY && renderer.ball.PosY<= PongPlusPlus.player1.y + PongPlusPlus.player1.height))
{
playerOneHitPaddle = true;
}
//hitting p2 paddle
if((renderer.ball.PosX + renderer.ball.BallXSpeed[randIndexX]*2 <= PongPlusPlus.player2.x + PongPlusPlus.player2.width)&&
(PongPlusPlus.player2.y <=renderer.ball.PosY && renderer.ball.PosY<= PongPlusPlus.player2.y + PongPlusPlus.player2.height))
{
playerTwoHitPaddle = true;
}
//hitting right
if(renderer.ball.PosX + renderer.ball.BallXSpeed[randIndexX]*2 >= (screenSize.getWidth()) || renderer.ball.PosX + renderer.ball.BallXSpeed[randIndexX]*2 <= 0)
{
reverseX();
}
}
ДонЯ не знаю много о том, как ссылаться на вещи в других классах, так как я совершенно новая концепция получения переменных из других классов и их использования.Буду признателен за любую помощь, и я прошу, пожалуйста, не преследуйте меня за то, что я не следую «соглашениям об именах» или что-то в этом роде, я знаю, что есть ошибки, рассказывать о них не помогает мне решить мою проблему.