如何在重新加载场景中重新开始我的分数(重置静态分数)?

Man*_*Yes 1 c# variables static reload unity-game-engine

重新加载屏幕时如何重新开始分数

public class KeepingScore: Monobehaviour;

public static int Score;
Run Code Online (Sandbox Code Playgroud)

我也有分数设置,每当我点击一个对象,对象被摧毁并给我一个点.

void OnMouseDown()

KeepingScore.score += 1;

Destroy();
Run Code Online (Sandbox Code Playgroud)

我也有一个计时器,当我用完时,场景切换到水平选择菜单,我再次点击水平(即1级),但后来我仍然看到我的分数是如何的.我知道它是静态的因此它仍然是相同的,有没有任何方法在每次重新加载关卡时将值重置为零.谢谢

Ric*_*ter 5

您可以实现该MonoBehaviour.OnLevelWasLoaded(int)功能.
每次加载一个级别时都会调用它.

void OnLevelWasLoaded(int level) {
    KeepingScore.score = 0;
}
Run Code Online (Sandbox Code Playgroud)

查看文档:http: //docs.unity3d.com/ScriptReference/MonoBehaviour.OnLevelWasLoaded.html