我是 Java 编程新手。我正在学习开发一款类似于“突破”的游戏。这是它的工作原理
you have a set of bricks to hit using a ball and the paddle
我陷入了困境,
每当我错过球时,它就会带我到 else 循环,在那里我发送“游戏结束”消息。 相反,我希望球再次返回,并击中其他剩余的砖 block 。
这是片段 Java代码:
public void paint(Graphics g) {
super.paint(g);
if (ingame) {
g.drawImage(ball.getImage(), ball.getX(), ball.getY(),
ball.getWidth(), ball.getHeight(), this);
g.drawImage(paddle.getImage(), paddle.getX(), paddle.getY(),
paddle.getWidth(), paddle.getHeight(), this);
for (int i = 0; i < 30; i++) {
if (!bricks[i].isDestroyed())
g.drawImage(bricks[i].getImage(), bricks[i].getX(),
bricks[i].getY(), bricks[i].getWidth(),
bricks[i].getHeight(), this);
}
} else {
Font font = new Font("Verdana", Font.BOLD, 18);
FontMetrics metr = this.getFontMetrics(font);
g.setColor(Color.BLACK);
g.setFont(font);
g.drawString(message,
(Commons.WIDTH - metr.stringWidth(message)) / 2,
Commons.WIDTH / 2);
}
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
提前致谢:)
最佳答案
1)使用paintComponent()
2) 不要破坏作为参数传递的 Graphics
3) 代码应等于起始代码;将球移动到比赛 field 内并重新开始。
关于java - 突破游戏(当我出局时,我希望球再次击中剩余的砖 block ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619898/