Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity 3D使用C#使用键盘按键调用场景_C#_Unity3d - Fatal编程技术网

Unity 3D使用C#使用键盘按键调用场景

Unity 3D使用C#使用键盘按键调用场景,c#,unity3d,C#,Unity3d,我目前正在编写一个游戏的用户界面,我正试图找出如何用按键调用场景。在这种情况下,请使用退出键。一般来说,我知道如何召唤一个场景,但在键盘上按下一个按钮才是我要解决的问题 using System.Collections; using System.Collections.Generic; using UnityEngine; public class pauseMenu : MonoBehaviour { public void pausemenu() { A

我目前正在编写一个游戏的用户界面,我正试图找出如何用按键调用场景。在这种情况下,请使用退出键。一般来说,我知道如何召唤一个场景,但在键盘上按下一个按钮才是我要解决的问题

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class pauseMenu : MonoBehaviour 
{
    public void pausemenu()
    {
        Application.LoadLevel("menuPause");
    }
}

您正在寻找以下内容:

void FixedUpdate()
{
     if(Input.GetKey(KeyCode.Escape))
     {
          //load the scene
     }
}
问题是这个脚本必须在场景中始终可用。要使其持久化,还必须将以下内容添加到脚本中:

void Awake()
{
     DontDestroyOnLoad(gameObject);
}
你可以用

void Update()
{
    if(Input.GetKeyDown(Keycode.Escape))
    {
     Application.LoadLevel("YourSceneNameHere");
    }
}
但您需要将场景添加到构建设置中

转到:文件>生成设置(或Ctrl+Shift+B) 如果要添加到列表中的场景已经打开,只需按“添加打开的场景”

您需要至少有两个场景才能从另一个场景加载一个场景,或者您可以在中再次加载同一场景,这对于某些情况很有用

添加所需场景后,在这种情况下按“退出”时

你的场景(你的“加载场景脚本”)需要打开,你的脚本需要附加到游戏对象上


您的场景将被加载。

呃……您是否研究过如何在Unity中检测按键?检查更新功能中的escape键,然后加载场景<代码>如果(Input.GetKey(KeyCode.Escape)){…加载场景}哪部分比较复杂?@Serlite我做了,但我在unity论坛上找到的所有东西都不适合我。试图用谷歌搜索答案的事情变得不确定了,因为它们太过时了。@Programmer不知道或找不到getkey函数的那部分我查过了,但没有提到=D谢谢你的邀请