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分钟前,控制台将对垃圾邮件进行“更新”打印,但在我更改了一些内容后,现在不再显示,“ renderer”指的是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();
}
}
我对如何在其他类中引用东西一无所知,因为我是一个全新的概念,可以从其他类中引入变量并使用它们。 任何帮助将不胜感激,我求求你,不要因为我没有遵循“命名约定”之类而束手无策,我知道有错误,告诉我这些错误并不能帮助我解决问题。