如何获得分数重设

时间:2019-04-29 20:40:34

标签: c# unity3d

玩家死亡并开始游戏后,得分不会重置并保持先前​​的得分。我希望分数在玩家死亡或离开游戏后重新设置。你怎么做到的?

public class ScoreScript : MonoBehaviour {

    public static int scoreValue = 0;
    Text score;

    // Use this for initialization
    void Start () {
        score = GetComponent<Text>();
    }

    // Update is called once per frame
    void Update () {
        score.text = "Score: " + scoreValue;
    }
}

2 个答案:

答案 0 :(得分:1)

score.text存储着Score:的求值,并且在调用scoreValue时存储在Update()中的任何内容。您的代码都没有从显示的内容更新scoreValue

还要注意scoreValuestatic,请确保准确反映您的意图(例如scoreValueScoreScript类的属性还是每个类的实例? )。请注意,score不是静态的,我希望它们都具有相同的行为(静态或非静态)。

即像

public class ScoreScript : MonoBehaviour {

public static int scoreValue = 0;
Text score;

// Use this for initialization
void Start () {
    score = GetComponent<Text>();
}

// Update is called once per frame
void Update () {
    score.text = "Score: " + scoreValue;
}

void ScoreReset() {
    scoreValue = 0;
}

void AddPoints(int points) {
    scoreValue += points;
}
}

答案 1 :(得分:-1)

如果您在玩家死后scoreValue之后加载场景,原因是0,因为我看到您在上面的代码中分配了0。