如何簡單製作遊戲的基本UI按鈕,暫停播放
文、查理
打電動打到一半臨時有人打電話過來,或者是尿急,這時候就需要遊戲暫停按鈕,那要如何製作一個遊戲暫停的按鈕呢?
首先,是要製作一個按鈕物件,第二個部分就是要讓這個按鈕,產生遊戲暫停的效果。
那要如何製作一個遊戲暫停的按鈕在畫面的角落?
在選單列,按下Component(物件功能)能找到UI(圖文項目),再點選Button(按鈕),那在Hierarchy(物件清單)欄位裡面,就會增加一個Button,同時你會看到一個Canvas(圖文管理員,管理所有的按鈕圖片文字設定),跟一個Event System(互動物件系統,圖片按鈕文字的所有互動設定)
要如何更換按鈕的圖片?
將準備好的圖片,拖曳到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上面。
點選按鈕物件,可以在Inspector屬性欄位裡,看到OnClick欄位,按右下方加號,增加一個新的項目,從把遊戲控制器物件GameControl拖曳到GameObject物件欄位裡,右邊的選單就會出現遊戲控制器所擁有的程式碼,選擇按鈕程式碼,再點選ButtonPause函式。
既然有暫停按鈕,也要有播放按鈕
我們可以把現在的暫停按鈕複製成一個新的播放按鈕,再把播放按鈕的圖片內容換成播放的圖片。
我們可以在按鈕的程式碼裡面再新增一個函式
Public void ButtonPlay(){
Time.timeScale = 1;
一樣在播放按鈕的Inspector屬性欄位裡,找到OnClick欄位,按右下方加號,增加一個新的項目,從把遊戲控制器物件GameControl拖曳到GameObject物件欄位裡,右邊的選單就會出現遊戲控制器所擁有的程式碼,選擇按鈕程式碼,再點選ButtonPlay函式,這樣按下播放按鈕,遊戲就會恢復正常速度。
🔺 成為UI設計師,掌握美觀、簡單、便利的使用者介面設計,開啟成功之路!
FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan
痞客邦Blog:http://lccnetvip.pixnet.net/blog