【发布时间】:2021-03-19 14:21:02
【问题描述】:
我正在使用 PlayerPrefs 来保存每个级别收集的硬币。在差异游戏中,当找到一个项目时,玩家会得到一个硬币,并使用 PlayerPrefs 保存。并且该硬币值用于显示在级别选择屏幕中。问题是当我第一次完成关卡时,它在关卡选择屏幕中显示收集的硬币,当我再完成几次时,关卡选择屏幕上的值保持不变,硬币没有加起来:
这是我使用 PlayerPrefs 保存硬币的脚本:
if (result.collider.CompareTag("Images"))
{
Debug.Log("Hit");
result.collider.enabled = false;
tmpCircle = Instantiate(krug1);
tmpCircle.SetActive(true);
tmpCircle.transform.SetParent(canvas.transform, true);
tmpCircle.transform.position = new Vector3(result.point.x, result.point.y, result.point.z);
tmpCircle.transform.localScale = new Vector3(transform.localScale.x * 2f, transform.localScale.y * 2f, transform.localScale.z);
circle.Play("CircleAnim");
score += 1;
diff -= 1;
coins += 1;
score1.text = " " + score;
PlayerPrefs.SetInt("Coins", coins);
PlayerPrefs.Save();
item.Play();
}
这是我在 LevelSelection 屏幕中显示硬币的脚本:
void Start()
{
coins.text = PlayerPrefs.GetInt("Coins", 0).ToString();
}
【问题讨论】: