c# – 高分更新不适用于2dunity游戏

我是2D Unity游戏开发的初学者,这是我的第一款游戏.在这个游戏中我有两个场景 – 一个是场景,另一个是场景游戏.当我试图在游戏场景中显示高分时,它对我不起作用.这是我试过的代码:

public class highscore : MonoBehaviour {
    public Text hscore;

    private void Start() {
        hscore.text = PlayerPrefs.GetInt("highscore", 0).ToString();
    }

    public void Update() {
        if (GetComponent<Score>().score > PlayerPrefs.GetInt("highscore")) { 
            PlayerPrefs.SetInt("highscore", GetComponent<Score>().score);
            hscore.text = GetComponent<Score>().score.ToString();
        }
    }
}

它冻结了场景中的游戏,没有其他任何工作.有谁知道问题是什么?任何帮助都会有用.提前致谢.

解决方法:

我建议你完全重写你的代码.例如,为什么你需要额外的屏幕才能显示高分.场景之间的切换在某种程度上是昂贵的操作.即使您确实需要两个屏幕,您也应该在更新方法之外放置“显示高分”逻辑.现在解决方案:
处理此问题的最简单方法是使用PlayerPrefs更新高分,如PlayerPrefs.SetInt(“HighScore”,yourScore);你可以得到这样的价值:
int highScore = PlayerPrefs.GetInt(“HighScore”,0);如果在此之前没有设置HighScore,则第二个参数是可选的.另一件事是你可以使用弹出窗口来显示高分.这样你就不必在场景之间切换.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐