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

Can i check if any F-Key is pressed?

好的,我想检查是否有任何 f 键被按下:

if (Input.GetKeyDown(KeyCode.F1)||
    Input.GetKeyDown(KeyCode.F2)||
    Input.GetKeyDown(KeyCode.F3)||
    Input.GetKeyDown(KeyCode.F4)||
    ...){}

这个好像很没效果。

所以我基本上是在按 f1、f2 等键时切换我的场景,并且我想在离开场景时将变量保存到全局对象中。

我觉得你的检查方式还可以。

但是全局变量?我想你的意思是一个你可以从任何地方访问的变量。

场景之间的数据持久化可以用很多不同的方式来完成,我会尝试给你一个例子

假设您在场景 1 中。您有一个要保存的高分。静态变量非常适合 Unity passthrews Imo atleast


    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
        }
    }
    ```