c# - 如何使用 playerprefs 保存播放器的素材?
问题描述
我有一个游戏,你是一个立方体,你躲避障碍,我只是实现了改变立方体颜色的能力,就像改变皮肤一样。我通过在玩家按下“2”时为玩家分配不同的材料来做到这一点。
这是脚本:
void Update()
{
if (Input.GetKeyDown("2"))
{
Object.GetComponent<MeshRenderer>().material = Material1;
}
}
当你死时场景重置并且当你获胜时加载新场景,我希望游戏即使在场景重置或加载新场景后也能记住材料变化。我做了一些研究,发现了一个叫做“PlayerPrefs”的东西,我一直在玩它,但没有什么能接近工作,我真的不明白我在做什么。
我真的很想了解它是如何工作的,因为我知道我在制作游戏时会经常使用它。有人可以帮我理解吗?
谢谢。
解决方案
您只在 playerprefs 中保存 int、string 和 bool。您必须将材质的值存储到字符串中,然后将此字符串保存到 playerprefs 中。
或者,您可以将此材质分配给局部变量并在 Dontdestroyonload 上设置该脚本,这样它就不会在场景被破坏或重置时重置。
推荐阅读
- python - 关于 Python 元组解包的说明
- python - Tensorflow 强化学习 RNN 在使用 GradientTape 优化后返回 NaN
- latex - 仅对乳胶中的某些列进行分组
- python - Python 中的位运算符 &
- maps - ggplot2中的地图图层问题
- spring-batch - 使用 @Transactional(propagation = NOT_SUPPORTED) 插入 Spring Batch 集成测试的测试记录不会回滚
- typescript - 根据某些场景将数组中的字符串添加在一起 - 打字稿
- php - 如果数组的键与另一个数组的键匹配,如何替换数组中的元素?
- css - 在 aa ion-grid 中设置相同尺寸的离子卡
- arrays - 在新模块中使用来自另一个模块的非公共数组