【发布时间】:2021-07-21 02:51:05
【问题描述】:
我在正在开发的游戏中遇到“问题”。当角色因与敌人碰撞或触发游戏对象而死亡时,它会显示一个游戏结束屏幕,其中包含一个“重试”按钮以重新开始游戏,但一旦单击重新开始按钮,从上一场比赛中收集的分数仍然存在.
我该如何解决这个问题?谢谢你的帮助!!
GameOver C# 脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class CS_GameOverMenu : MonoBehaviour
{
public void RestartButton()
{
SceneManager.LoadScene("Level 1");
Debug.Log("Game open");
}
public void MenuButton()
{
SceneManager.LoadScene("MainMenu");
Debug.Log("Main Menu open");
}
public void ExitButton()
{
Application.Quit();
Debug.Log("Game closed");
}
//public void QuitButton()
//{
// Application.Quit();
//Debug.Log("Game closed");
}
【问题讨论】:
-
你是如何保存你的分数的?你在使用 playerprefs 吗?
-
是的,我使用播放器预制件收集食物以获取分数。我还有一个收集脚本,允许玩家收集食物以获得分数,调用另一个名为 Score 的脚本。实际上,现在的问题是显示游戏结束屏幕后的重新启动按钮。当我点击重试时,之前的分数仍然存在。我不确定我是否必须通过脚本或其他地方在游戏中编写任何代码。 @TEEBQNE
-
你的分数是静态的吗?你是如何写入分数变量的?您是否使用 playerprefs 或 json/binary 将分数保存在某处。由于您的设置方式,它一直保持不变。如果您让我知道此信息,我可以提供帮助
-
具体一点,能不能分享一下玩家收集食物后分数增加的代码?
-
是的。分数是静态整数。我不确定你保存分数是什么意思。我在得分游戏对象中没有任何玩家预制件。只有 scoreText。
标签: c# unity3d user-interface button scoring