如何将变量传递给Unity中的另一个脚本和/或场景?

-1 c# variables unity-game-engine

我正在开发一款需要得分的游戏.我想将我的变量传递给c#中的另一个场景.我尝试了很多解决方案,但没有一个有效!我有一个公共静态变量作为我的分数,我想将它传递给丢失的屏幕.

小智 5

PlayerPrefs是一种在场景之间存储数据的坏习惯.它被设计用于在游戏执行之间存储数据,而不是场景; 因为它会在您的计算机上本地保存您的数据.

如果你想在场景之间传递数据,最好制作一个GameManager,正如官方网站上的一个教程所解释的那样.

这个想法是:

  • 在每个场景上放置一个"加载器"游戏对象,如果不是,将实例化GameManager
  • GameManager维护对自身的静态引用,因此您可以通过调用GameManager.instance.myScore(确保加载器有时间实例化它)来访问它(在唤醒方法之后).

只需看一下教程,就可以解释得很好.但千万不能PlayerPrefs通过您的场景来传递数据.