2016-04-23 84 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;'工作 –