2015-05-14 52 views
-1

我想在Unity中创建一个Quit按钮,但是当我将脚本添加到按钮并单击它时,它不会退出。QuitApplication Button on unity

这里是我的C#脚本:

using UnityEngine; 
using System.Collections; 

public class Quit_App : MonoBehaviour { 
    void OnClick() { 
     Application.Quit(); 
    } 
} 

我已经创建并分配给使用UI画布,我用的是Button(Script)箱,以便使用OnClick()框来执行该代码。 在那里,我选择它作为object MyButton和使用字符串名称的Quit_App()函数。

+0

使用UnityEngine.UI添加''在顶部,这可能会有所帮助 – Catwood

回答

-1

好的,谢谢大家的帮助,但我找到了我的问题的答案。基于本教程https://www.youtube.com/watch?v=kQ2Qc_0MIyI我创建一个Empty GameObgect,我叫_manager和我分配了此脚本:

using UnityEngine; 
using System.Collections; 

public class csScript : MonoBehaviour { 

     public void ChangeToScene (int sceneToChangeTo) { 
      if (sceneToChangeTo == 0) { 
       Application.Quit(); 
      } 
       else 
      { 
       Application.LoadLevel (sceneToChangeTo); 
      } 

     } 

    } 

然后我选择的对象_manager和使用0作为输入sceneToChangeTo(int)功能我Button_EXIT

+0

这不是一个解决方案。您应该按通常的方式添加按钮。你原来的代码唯一的问题是void OnClick()是私有的,所以不能在Button组件的OnClick事件中声明。将其更改为public void OnClick()将使您可以将其添加到按钮。我会为你添加一个示例项目。 –

0

我找到这个疑难问题的半溶液中使用这个脚本,可以让我离开时,我按下逃生按钮。

using UnityEngine; 
using System.Collections; 

public class NewBehaviourScript : MonoBehaviour { 

    // Use this for initialization 
    void Start() { 
     if (Input.GetKey("escape")) 
      Application.Quit(); 
    } 

    // Update is called once per frame 
    void Update() { 
     if (Input.GetKey("escape")) 
      Application.Quit(); 
    } 
} 
0

你的脚本假设调用方法OnClick会奇迹般地检测到点击,但事实并非如此。

您需要将菜单管理器脚本添加到场景中,从而将公共方法绑定到Button组件。

这里设置您需要: Button setup

MenuManager连接到MenuManager游戏对象的脚本: Menu Manager Setup

在MenuManager脚本的代码是真正简单:

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

public class MenuManager : MonoBehaviour { 

    public void ExitNow() 
    { 
     Application.Quit(); 
    } 

} 

我上传了一个fully functional implementation here的包。