2016-04-23 122 views
0

我的游戏主屏幕上有2个Canvas UI (Start and Exit)。我想补充1个脚本执行以下操作:UI画布开始 - 退出游戏

当UI图像Play点击

public void NextLevel(int level) 
{ 
    Score.Inicializar(); 
    Application.LoadLevel (1); 

} 

当UI图像Exit点击

Application.Quit();

C#如果可能的话。

+0

你能详细点吗?这个问题有点不清楚 – Li357

+0

@AndrewL编辑=] –

+0

需要注意的是,Application.LoadLevel(int level)已被弃用,请使用LevelManager并加载该级别。我从问题中得到的结果是,你有2个画布,你想要一个脚本来加载当前级别的下一个级别?另一个名为'exit'的函数执行Application.quit()? – Li357

回答

0

这个脚本添加到您的播放图像:

using UnityEngine; 
using UnityEngine.EventSystems; 
//using UnityEngine.SceneManagement; // uncomment this line in case you wanna use SceneManager 

public class HandleClickOnPlayImage : MonoBehaviour, IPointerClickHandler { 
    int level = 1; // I'm assuming you're setting this value somehow in your application 

    public void OnPointerClick (PointerEventData eventData) 
    { 
     Score.Inicializar(); 
     Application.LoadLevel (level); 
     // SceneManager.LoadScene (level); // <-- use this method instead for loading scenes 
    } 
} 

而且这个脚本添加到您的退出图片:

using UnityEngine; 
using UnityEngine.EventSystems; 

public class HandleClickOnExitImage : MonoBehaviour, IPointerClickHandler { 
    public void OnPointerClick (PointerEventData eventData) 
    { 
     Application.Quit(); 
    } 
} 

最后确认没有其他UI阻塞/重叠的图像,否则他们将不会收到任何点击事件。

更不用说一个脚本文件的名称应该与它的类名相匹配:)

+0

尝试使用'SceneManager.LoadScene()',因为'Application.LoadLevel()'已弃用。 –

+0

更改!对于未来......不要忘记'为'Scenemanager.LoadScene()'使用UnityEngine.SceneManagement;'工作 –