昨天建立的ReplayButton目前是沒有任何作用的,當玩家點下去之後也不會有任何反應,所以我們今天要來設定Button...
Button.onClick:按下按鈕時觸發的UnityEvent。
Scripting API: UI.Button.onClick - Unity - Manual
ReplayButton這個按鈕的功用是當玩家按下去之後會讓遊戲重新開始。
點ReplayButton,在它的右側Inspector可以看到有一個On Click()欄,這邊可以設定當這個按鈕被按下去的時候要執行的方法,所以我們現在先來寫遊戲重載的程式碼。
首先,現在Player.cs新增一個方法叫作Replay,這個方法就是要讓遊戲重新開始,那重新開始意味著場景會重跑,所以我們要在這裡加這行程式碼SceneManager.LoadScene("SampleScene");
,代表它會重載SampleScene這個場景。因為有用到SceneManager,所以開頭要include這行using UnityEngine.SceneManagement;
那由於現在遊戲還是暫停的,所以我們時間也有重新設定為1倍Time.timeScale = 1f;
所以目前Replay方法的程式碼長這樣
public void Replay()
{
Time.timeScale = 1f;
SceneManager.LoadScene("SampleScene");
}
接著再回到Unity介面去新增方法到On Click()。
在On Click()點+號
就會顯示出一個沒有任何資料的一列
→將Player物件拉到這一列→點開Player→點Replay
這樣子設定的話,代表當按鈕被點下去的時候,就會執行我們剛剛寫的Replay方法。
試玩~
可以發現當遊戲結束時會跑出ReplayButton,點下去之後遊戲重新開始了!
參考網址:https://www.youtube.com/watch?v=nPW6tKeapsM&ab_channel=GrandmaCan-%E6%88%91%E9%98%BF%E5%AC%A4%E9%83%BD%E6%9C%83
音效、圖片 : 遊戲素材
(素材由安德斯提供,感謝大大)