2023/11/03

如何簡單製作遊戲的基本UI按鈕,暫停播放

文、查理

 


打電動打到一半臨時有人打電話過來,或者是尿急,這時候就需要遊戲暫停按鈕,那要如何製作一個遊戲暫停的按鈕呢?
首先,是要製作一個按鈕物件,第二個部分就是要讓這個按鈕,產生遊戲暫停的效果。


那要如何製作一個遊戲暫停的按鈕在畫面的角落?

 

[game-art-charlie-how-to-simply-make-the-basic-ui-button-of-the-game-pause-playback]for ai.rookiesavior lesson img1

 


在選單列,按下Component(物件功能)能找到UI(圖文項目),再點選Button(按鈕),那在Hierarchy(物件清單)欄位裡面,就會增加一個Button,同時你會看到一個Canvas(圖文管理員,管理所有的按鈕圖片文字設定),跟一個Event System(互動物件系統,圖片按鈕文字的所有互動設定)

 

[game-art-charlie-how-to-simply-make-the-basic-ui-button-of-the-game-pause-playback]for ai.rookiesavior lesson img2

[game-art-charlie-how-to-simply-make-the-basic-ui-button-of-the-game-pause-playback]for ai.rookiesavior lesson img3

[game-art-charlie-how-to-simply-make-the-basic-ui-button-of-the-game-pause-playback]for ai.rookiesavior lesson img4

 


要如何更換按鈕的圖片?


將準備好的圖片,拖曳到Project(素材庫)裡,再將按鈕的圖片更換
1. 將暫停按鈕圖片,拖曳到Source Image欄位
2. Width:180(按鈕寬度),Height:180(按鈕高度),Pos X:-90(與右方的間距),Pos Y:-90(與上方的間距)
3. Anchor Preset設定為對齊右上角
4. 把按鈕的子物件Text關閉或刪除(暫時用不到文字)
我們還需要一個遊戲控制器的物件,來存放按下按鈕後,所要執行的內容程式碼,在物件清單裡,增加一個空物件,名稱更改為GameControl

 


那第二個部分就是設定遊戲暫停的程式碼的部分


在Project李新增一個C# Scipt,命名為Button
打開程式碼後,在程式碼裡面另外撰寫一個自訂的函式

Public void ButtonPause(){
Time.timeScale = 0;
}


Public:讓這個函式可以顯示在面板上的選單列裡,讓我們可以選擇使用
ButtonPause:是我們自訂的名稱,函式的第一個英文字母請使用大寫字母,目的是跟小寫開頭的變數名稱做個區別。


變數名稱通常用小寫開頭:button
函式名稱通常用大寫開頭:ButtonPause


之後的英文單字的第一個字母,也請使用大寫字母,方便我們辯識的每一個英文單字,方便瞭解名稱的意義。


Time:指的是時間
timeScale:指的是時間的播放速度
0:播放速度為0倍,也就是遊戲暫停
1:正常播放速度
2:兩倍速度播放
0.5:0.5倍慢動作播放
-1:時光倒流
-2:回到未來


timeScale的數值,只能從0到100。
程式設定好之後,我們就可以把這個程式碼套用到遊戲控制器GameControl上面。

 

[game-art-charlie-how-to-simply-make-the-basic-ui-button-of-the-game-pause-playback]for ai.rookiesavior lesson img5

 


點選按鈕物件,可以在Inspector屬性欄位裡,看到OnClick欄位,按右下方加號,增加一個新的項目,從把遊戲控制器物件GameControl拖曳到GameObject物件欄位裡,右邊的選單就會出現遊戲控制器所擁有的程式碼,選擇按鈕程式碼,再點選ButtonPause函式。

 


既然有暫停按鈕,也要有播放按鈕。


我們可以把現在的暫停按鈕複製成一個新的播放按鈕,再把播放按鈕的圖片內容換成播放的圖片。


我們可以在按鈕的程式碼裡面再新增一個函式

Public void ButtonPlay(){
Time.timeScale = 1;


一樣在播放按鈕的Inspector屬性欄位裡,找到OnClick欄位,按右下方加號,增加一個新的項目,從把遊戲控制器物件GameControl拖曳到GameObject物件欄位裡,右邊的選單就會出現遊戲控制器所擁有的程式碼,選擇按鈕程式碼,再點選ButtonPlay函式,這樣按下播放按鈕,遊戲就會恢復正常速度。

 

 

加入菜鳥救星學習會員,不定期獲得更多知識吧!點我註冊 / 登入

 

不同頻道,不同知識 !