我是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] 举报,一经查实,本站将立刻删除。