Unity 2D小遊戲製作(五) :玩家血量
- 血量設置
- 血量同步
- 此篇效果 – 被怪物打到時扣血* * * *
- 接下來進入完整教學 -
血量設置
一、把素材資料夾中的「愛心」拖曳到「Sprite」資料夾中,並把PNG設定成 Sprite
二、找到場景中的Canvas > 點選右鍵 > UI > Image
三、點選場景中剛剛新增的 Image,並點右鍵Rename幫它更名為「Heart01」
* 重新命名快捷鍵 F2
四、點選場景中剛剛新增的Image,並找到Image上的 Image 屬性,找到 Image上的 Sprite Image 參數,並點擊右邊的圓球,選擇「愛心」圖片,此時在畫面中就可以看到一個愛心
五、點擊「Heart01」 > 在Rect Transform框框中 > 設定Width為60,Height為60 > 將愛心擺放至畫面的右上角
六、點擊「Heart01」> 右鍵 > 點擊Duplicate複製 (點兩次) > 並將複製出來的圖片分別改名為「Heart02」「Heart03」
七、將「Heart01」「Heart02」「Heart03」由左至右依序排好
八、血量設置完成
血量同步
一、接下來我們要讓太空船碰到怪物時,就扣除一顆愛心,所以我們必須修改太空船的程式碼。
點擊「太空船」物件,會看到Inspector視窗中,有一個「ShipController」程式檔,點擊Script欄位兩下,可以將程式檔打開
二、在「ShipController」開頭,新增下列的程式碼 (記得Ctrl+S儲存)
//宣告愛心數量=3
int HeartNum = 3;
//宣告愛心01
public GameObject Heart01;
//宣告愛心02
public GameObject Heart02;
//宣告愛心03
public GameObject Heart03;
三、在「ShipController」Update後,新增下列的程式碼 (記得Ctrl+S儲存)
//下面這個函式是當玩家碰撞到其他物體時會執行
private void OnTriggerEnter2D(Collider2D collision)
{
//如果碰到Monster怪物時,扣一顆愛心
if (collision.name == "Monster(Clone)")
{
//刪除怪物
Destroy(collision.gameObject);
//愛心數量-1
HeartNum = HeartNum - 1;
//根據愛心數量,顯示愛心圖案
if (HeartNum == 2) //如果還有兩顆愛心
{
//讓第一顆愛心隱藏
Heart01.SetActive(false);
}
else if (HeartNum == 1) //如果還有一顆愛心
{
//讓第二顆愛心隱藏
Heart02.SetActive(false);
}
else if (HeartNum == 0) //如果沒有愛心
{
//讓第三顆愛心隱藏
Heart03.SetActive(false);
}
}
}
四、點擊「太空船」物件,將「Heart01」「Heart02」「Heart03」圖片分別拖曳至欄位中
五、接下來我們執行遊戲就可以看到,當我們碰到怪物時,就會扣愛心囉!
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !