在 Unity 中使用键重新启动场景

Posted

技术标签:

【中文标题】在 Unity 中使用键重新启动场景【英文标题】:Restarting the scene with a key in Unity 【发布时间】:2021-01-17 00:08:01 【问题描述】:

我正在 Unity2D 中开发一个大学练习,我需要通过按 R 键重新开始我的游戏。游戏是一个在你按下空格键时会移动的球。我添加了一些代码,但是当我按 R 时它不会发生任何事情。

我的代码:

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

public class RestartGame : MonoBehaviour

    public void restart()
    
        if (Input.GetKeyDown(KeyCode.R))
        
            SceneManager.LoadSceneAsync(
                SceneManager.GetActiveScene().buildIndex);
        
    

我在一个论坛上看到我必须创建一个空对象并在那里添加脚本才能使其工作。但由于某种原因,它不会发生任何事情。

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

如果要检查 User Input,需要在 Unity 提供的 Update() 方法中进行。

示例:

private void Update() 
    if (Input.GetKeyDown(KeyCode.R)) 
        SceneManager.LoadSceneAsync(
            SceneManager.GetActiveScene().buildIndex);
    

如果您不使用更新方法或每帧调用的方法(例如OnTriggerStay()),您将无法检测用户是否实际按下了键。

【讨论】:

以上是关于在 Unity 中使用键重新启动场景的主要内容,如果未能解决你的问题,请参考以下文章

Unity - 单击重新启动按钮后如何重新启动乐谱?

如何正确重新加载将 MRTK 用于 Hololens2 的 Unity 场景?

在 Unity 中使用按钮重置计时器

Unity Hub不断询问相同的更新,但是在计算机重新启动后降级[关闭]

centos忘记密码,重新设置密码的方法

IIS 重新启动后 JWKS 更改