重新启动按钮在Unity 5.6上不起作用

问题描述:

我正试图在游戏之上的屏幕上重新启动按钮。但似乎该按钮不起作用。我已经把它放在On Click()菜单上,当我点击它时,它一直没有做任何事情。 我的代码:重新启动按钮在Unity 5.6上不起作用

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

public class ButtonCodes:MonoBehaviour 
{ 
    public void RestartGame() 
    { 
     SceneManager.LoadScene(0); 
    } 
} 
+0

您是否将此场景添加到构建中? – KamikyIT

谢谢大家回答。你所说的所有事情都已经完成了,但按钮不起作用。最后,我自己解决了这个问题。我意识到我的Canvas没有EventSystem,这对于按钮的工作来说是非常重要的。

+0

当您在Unity中制作新的Canvas时,默认情况下会创建EventSystem,UI需要它才能运行。 将来您可能希望包含更多信息,例如“我的当前用户界面不工作”或场景层次结构的屏幕截图/描述。 – Bejasc

+0

好的,我会在下次尝试。感谢您的建议。 – irfancen

Assumming没有错误,它不工作的最可能的原因是你没有指定文件中的任何场景/构建设置(按Ctrl + Shift + B)

https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html

这表明如果使用sceneBuildIndex,则需要在构建设置中排序场景。如果您不断地在“生成设置”中重新排序场景,则还可以使用使用sceneName的第二个LoadScene,这可能更加可靠。另外,如果您还没有,请尝试使用Debug.Log来确保代码的那部分实际上被调用。

调查4.6 UI按钮。

在场景中创建按钮,在OnClick中,将您的ButtonCodes的gameObject拖入目标字段(左侧),并在右侧选择RestartGame,这将是ButtonCodes下的选项。

这可能是你已经完成了..如果是这样的话,尝试使用一些Debug.Log("Button was Clicked");陈述。如果显示出来,很可能您没有将Build设置为包含任何级别。 (团结不只是压着打在此处添加的水平 - 你必须这样做你自己)

尝试把在场景管理器的场景的名称,让您的构建设置,确保你的场景,你会负荷

public void RestartGame() 
{ 
    SceneManager.LoadScene(//name of your scene); 
} 

1-有时当我复制一个按钮并将其与其他功能一起使用时,它不起作用。

2-我面对的另一个原因是当我使用继承类时,它也不能工作很多次。

3-有时您忘记添加“0”场景来建立设置。