【问题标题】:How do I restart my score (reset static score) in reloading scene in unity?如何在统一重新加载场景中重新启动我的分数(重置静态分数)?
【发布时间】:2015-01-12 03:15:00
【问题描述】:

当我重新加载屏幕时如何重新开始我的乐谱

public class KeepingScore: Monobehaviour;

public static int Score;

我还设置了分数,因为每当我单击一个对象时,该对象就会被破坏并给我一个分数。

void OnMouseDown()

KeepingScore.score += 1;

Destroy();

我还有一个计时器,当我用完时间时,场景切换到关卡选择菜单,我再次点击关卡(即关卡 1),但我仍然看到我的分数回到原来的样子。我知道它是静态的,因此它仍然相同,是否有任何方法可以在每次重新加载关卡时将值重置为零。谢谢

【问题讨论】:

    标签: c# variables static unity3d reload


    【解决方案1】:

    您可以实现MonoBehaviour.OnLevelWasLoaded(int) 函数。
    每次加载关卡时都会调用它。

    例子

    void OnLevelWasLoaded(int level) {
        KeepingScore.score = 0;
    }
    

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

    【讨论】:

    • 另外请记住,当您单击“播放”按钮在编辑器中运行场景时,不会触发此事件。
    • 好吧,我所做的是 void OnLevelWasLoaded() { Keeping.Score = 0; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多