我们先设置一个标签,一个打印函数,将变化的数字设为(int等)基本数据类型,然后每一次该值发生变化,就调用一次打印函数(打印函数相当于重新设置了标签内容)
JLabel score=new JLabel();
private static int scor;
public void showScore() {//显示分数的函数
String strScore="";
strScore = "总分:"+" "+scor;
score.setText(strScore);
}
if(this.foodBeEaten()) {//截取部分代码,表明打印函数应该放的位置
scor +=10;
showScore();
food = new Food();
((SnakeBody) this.snaekBody).addBody(); //蛇身增长
//测试 System.out.println("蛇身的长度:"+this.snaekBody.body.size());
if(this.snaekBody.body.size() == 1) { //赋予地址,避免在(0,0)闪烁
this.snaekBody.setIndexCoordination(0, this.head.getX(), this.head.getY());//需修改,此处表示蛇每次都从同一个位置出来
}
}
注意:之所以能够不断显示变化的分数,是因为不断再重新调用打印函数的结果,如果只调用这个函数一次,而没有将它放进一个循环体中,则不能再重复显示,思路:改变标签内容—>再让其的内容重新显示
对此就可以形成一个能够不断显示分数变化的计分器!