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