Unity无法添加分数

问题描述 投票:0回答:0

当我的玩家击中一个项目时,我正在尝试将 +1000 添加到分数(我正在尝试进行无尽的跑步游戏)。 我的游戏管理器中有以下代码:

    private float currentScore = 0;
    void Update(){
        if(!isGameEnded){
            currentScore = Time.timeSinceLevelLoad * 10f;
            if(scoreBonus){
                currentScore += 1000;
                scoreText.SetText(currentScore.ToString("0"));
                scoreBonus = false;
            }
            scoreText.SetText(currentScore.ToString("0"));
        }
    }

我有一个 itemCollision 脚本,我更新了我的 GameManager 的 scoreBonus 变量:

    void OnCollisionEnter(Collision collisionInfo){
        if(collisionInfo.collider.tag == "Player"){
            FindObjectOfType<PlayerCollision>().ActivateInvicibility(invisibilityDuration);
            FindObjectOfType<GameManager>().scoreBonus = true;
            Destroy(gameObject);
        }
    }

事情是当我点击项目时,分数更新得非常快,我可以看到 +1000 发生然后它消失了。我试着记录分数,但一切似乎都很正常,当他击中一个项目时,它的值在日志中发生变化,但在我的分数文本中没有变化。

c# unity3d
© www.soinside.com 2019 - 2024. All rights reserved.