好的,我想检查是否按下了任何f键:
if (Input.GetKeyDown(KeyCode.F1)||
Input.GetKeyDown(KeyCode.F2)||
Input.GetKeyDown(KeyCode.F3)||
Input.GetKeyDown(KeyCode.F4)||
...){}
这似乎非常无效。
所以我基本上在按 f1、f2 等时切换我的场景,我想在离开场景时将变化保存到全局对象。
我认为您的检查方式还可以。
但是全局变量呢?我认为你的意思是你可以从任何地方访问的变量。
场景之间的数据持久性可以通过许多不同的方式完成,我将尝试给您一个例子
所以让我们说你在场景 1 上。您有一个想要保存的高分。静态变量至少非常适合 Unity passrews Imo
public class Score
{
public static int Highscore;
}
class Scene1
{
static void Main(string[] args)
{
if (Input.GetKeyDown(KeyCode.F1)||
Input.GetKeyDown(KeyCode.F2)||
Input.GetKeyDown(KeyCode.F3)||
Input.GetKeyDown(KeyCode.F4)||
...){
Score.Highscore = 5;
Console.WriteLine("Highscore: " + Score.Highscore);
SceneManager.LoadScene(0);
}
//Output is = 5
}
}
class Scene2
{
static void Main(string[] args)
{
Console.WriteLine("Highscore: " + Score.Highscore);
//Output will still be 5
}
}
```