我正在创建一个游戏,我希望在屏幕上显示生命的数量。我不知道如何在屏幕上添加数字,但我知道GLabel
类可以让你在屏幕上写一个String
。所以我认为这是一个好主意:
public class Lives extends GLabel
{
double xPoistion, yPosition;
int lives;
String s_lives;
public Lives(int lives, double xPosition, double yPosition){
super(lives, xPosition, yPosition);
this.lives = lives;
}
}
然而,GLabel
类的构造函数仅适用于String
,其中lives
位于超级中。我似乎找不到解决方案来解决这个问题。它甚至可能吗?
我试过了:
super(lives.toString(s_lives), xPosition, yPosition);
结果是:
Lives.java:14: cannot reference s_lives before supertype constructor has been called
super(lives.toString(s_lives), xPosition, yPosition);
答案 0 :(得分:4)
您似乎正在使用班级成员s_lives
(我假设s_lives
是什么)而不是传递的lives
参数,而您是试图在原语上调用toString()
。
看起来你需要的是:
public Lives(int lives, double xPosition, double yPosition)
{
super(Integer.toString(lives), xPosition, yPosition);
this.lives = lives;
}
答案 1 :(得分:2)
你只需要将int转换为字符串
public class Lives extends GLabel{
double xPoistion, yPosition;
int lives;
public Lives(int lives, double xPosition, double yPosition){
super(lives+"", xPosition, yPosition);// use '+' operation can easily convert the number
this.lives = lives;
}
}