我可以检查是否按下了任何F键吗?



好的,我想检查是否按下了任何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
}
}
```

相关内容

最新更新