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级),但后来我仍然看到我的分数是如何的.我知道它是静态的因此它仍然是相同的,有没有任何方法在每次重新加载关卡时将值重置为零.谢谢
您可以实现该MonoBehaviour.OnLevelWasLoaded(int)功能.
每次加载一个级别时都会调用它.
例
void OnLevelWasLoaded(int level) {
KeepingScore.score = 0;
}
Run Code Online (Sandbox Code Playgroud)
查看文档:http: //docs.unity3d.com/ScriptReference/MonoBehaviour.OnLevelWasLoaded.html