我正在做一个小型游戏,我想设定失败的条件。如果失败是真的,我希望清除屏幕上的所有图形,以便为屏幕上的某些输出文本让路。
我认为有一种常规方法可以做到这一点(我宁愿知道这种方法,而不必输入不必要的代码)。提前致谢!
到目前为止,这是我的代码:
public void paintComponent(Graphics g){
if (!defeat){
super.paintComponent(g);
square.display(g);
wall.display(g);
for (Circle circle: circleArray){
circle.display(g);
}
}else if(defeat){
g.drawString("You have been defeated", 300, 300);
}
最佳答案
您应该始终致电super.paintComponent(g);
(除非您真的知道自己在做什么)。
将该呼叫放在您的if语句之外。该呼叫就是“清除屏幕”。像这样:
public void paintComponent(Graphics g){
super.paintComponent(g);
if (!defeat){
square.display(g);
wall.display(g);
for (Circle circle: circleArray){
circle.display(g);
}
}else if(defeat){
g.drawString("You have been defeated", 300, 300);
}