我目前正在制作一个2人制的乒乓球游戏,该游戏显示每侧的得分。我希望在整个游戏中显示分数,但是当有人得分时,我想要一个“目标”! (以字母开头,最后停顿一小段时间)的动画设置为文本,而不是团队的得分(恰好是电视上某些体育节目中的得分),然后设置为新得分。我在本节中遇到麻烦,这是我的问题:
这是我用于显示动画的代码(不确定这是否正确,因为无法显示,所以无法对其进行测试!)
public void displayGoal(int homeOrAway)
{
String str = "GOAL!";
if(homeOrAway == 0)
{
final IntegerProperty i = new SimpleIntegerProperty(0);
Timeline timeline = new Timeline();
KeyFrame keyFrame = new KeyFrame(
Duration.seconds(1),
event -> {
if (i.get() > str.length()) {
timeline.stop();
textHomeScore.setText("" + getHomeScore() + "");
} else {
textHomeScore.setText(str.substring(0, i.get()));
i.set(i.get() + 1);
}
});
timeline.getKeyFrames().add(keyFrame);
timeline.play();
}
else
{
final IntegerProperty i = new SimpleIntegerProperty(0);
Timeline timeline = new Timeline();
KeyFrame keyFrame = new KeyFrame(
Duration.seconds(1),
event -> {
if (i.get() > str.length()) {
timeline.stop();
textAwayScore.setText(""+ getAwayScore() + "");
} else {
textAwayScore.setText(str.substring(0, i.get()));
i.set(i.get() + 1);
}
});
timeline.getKeyFrames().add(keyFrame);
timeline.play();
}
}
textAwayScore和textHomeScore只是普通的Text,而不是TextField。
如果没有此功能,分数显示会非常好,并且每当球越过桨叶时它们就会计数。最好将动画添加到任意一方,因此,非常感谢您对此有任何帮助。如果有人需要任何澄清,请告诉我,我会澄清一下!谢谢!