C#将当前硬币数添加到硬币总和中

时间:2017-11-22 14:19:42

标签: c#

我有两个脚本:Player脚本和MainMenu脚本。玩家收集硬币并在游戏中显示该分数。当我重新开始游戏时,分数会按原样重置。但我想保存在游戏中收集的硬币并在主菜单中显示总和。我怎么能这样做?

玩家脚本

void Start()
{
    coin = 0;
}

void OnCollisionEnter2D(Collision2D col)
{
    if (col.gameObject.tag == "Coin")
    {
        Destroy(col.gameObject);
        coin += 1;
        coinCount.text = coin.ToString();
        PlayerPrefs.SetInt("coins", coin);
        Debug.Log("Coin");
    }
}

MainMenu脚本

void Start()
{
    coinText.text = PlayerPrefs.GetInt("coins").ToString();

}

1 个答案:

答案 0 :(得分:1)

首先,将PlayerPrefs.SetInt("coins", coin);移动到GameOver()函数开始。 PlayerPrefs会调用注册表,每次玩家获得一枚硬币时都不应该设置它。

其次,如果您想要将之前的硬币“添加”到之前的硬币,只需像以下那样访问它:

PlayerPrefs.SetInt("coins", PlayerPrefs.GetInt("coins") + coin);