首页 > 解决方案 > 如何使用 playerprefs 保存播放器的素材?

问题描述

我有一个游戏,你是一个立方体,你躲避障碍,我只是实现了改变立方体颜色的能力,就像改变皮肤一样。我通过在玩家按下“2”时为玩家分配不同的材料来做到这一点。

这是脚本:

 void Update()
{
    if (Input.GetKeyDown("2"))
    {
        Object.GetComponent<MeshRenderer>().material = Material1;
    }
}

当你死时场景重置并且当你获胜时加载新场景,我希望游戏即使在场景重置或加载新场景后也能记住材料变化。我做了一些研究,发现了一个叫做“PlayerPrefs”的东西,我一直在玩它,但没有什么能接近工作,我真的不明白我在做什么。

我真的很想了解它是如何工作的,因为我知道我在制作游戏时会经常使用它。有人可以帮我理解吗?

谢谢。

标签: c#unity3d

解决方案


您只在 playerprefs 中保存 int、string 和 bool。您必须将材质的值存储到字符串中,然后将此字符串保存到 playerprefs 中。

或者,您可以将此材质分配给局部变量并在 Dontdestroyonload 上设置该脚本,这样它就不会在场景被破坏或重置时重置。


推荐阅读