我正在创建一个游戏,希望在屏幕上显示生命的数量。我不知道如何在屏幕上添加数字,但是我知道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);

最佳答案

看来您使用的是类成员s_lives(我假设这是s_lives),而不是传递的lives参数,并且您正在尝试在原语上调用toString()

看来您需要的是:

public Lives(int lives, double xPosition, double yPosition)
{
    super(Integer.toString(lives), xPosition, yPosition);
    this.lives = lives;
}

09-04 09:33