2019年3月13日 星期三

Unity教程--塔防模板--使用者介面

確認過的版本:2017.2
難度:中級

介紹

我們希望向玩家提供有關當前遊戲狀態的某些信息。包括他們的基地保持多少生命值以及他們必須在塔上花多少錢。

本節介紹如何確保玩家可以獲得信息,主要是通過使用 UI Canvas 和 GameUI 元件。

UI 畫布

對於 UI,通過右鍵單擊 Hierarchy 視窗並選擇 UI> Canvas 來創建畫布。接下來,到 Project 視窗口中的 Prefabs / UI,並將以下預製體附加為 canvas 物件的子物件:
  • TowerControllerUI - 當玩家點擊塔時,將打開一個彈出視窗,為他們提供有關塔的信息,並讓他們能夠出售或升級塔。
  • Build Menu - 這為玩家提供了可供選擇的塔。
  • PlayerBaseLife - 顯示基地當前生命值以及玩家可用貨幣數量的 UI 元素。
  • WaveContainer - 顯示當前關卡的進攻波數。
  • Game Over - 當玩家摧毀所有敵人或者他們的基地的生命值降低到零時,將出現遊戲結束彈出窗口。
  • PauseMenu - 允許用戶暫停遊戲並重新啟動/退出舞台。
  • TowerPlaceConfirmationUI - 允許玩家確認移動設備上的塔位置。註一
  • TowerPlaceInvalid - 向使用移動設備的玩家表明他們放置塔的位置不是有效的放置區域。註二
GameCamera 物件(在上一節中添加)上的 GameUI 元件將需要參照其中一些預製體:註三
  • 將 RadiusVisualiser 預製體拖動到 Radius Visualizer Controller 欄位 ( 不用 )
  • 將舞台中的 TowerControllerUI 物件拖到 Tower UI 欄位中
  • 在舞台中找到 BuildInfo 物件。它是 Build Menu 物件的孫物件。將其拖動到 Build Info UI 欄位
了解 GameUI 元件


我們需要將 GameUI 元件附加到 GameCamera 遊戲物件。GameUI 元件定義了玩家選擇,購買或出售塔時顯示的 UI 元件。

Placement Area Mask

這允許我們選擇 Tower Placement 元件所在的圖層。這允許遊戲在放置塔時過濾掉其他層。

Tower Selection Layer

這是已經放置的塔的層。這允許我們在網格上選擇塔時過濾掉其他層。

Ghost World Placement Mask

這定義了塔幻影可以碰撞的層。當移動塔幻影時,我們希望能夠在某些舞台碰撞器以及放置網格本身上看到幻影。

Radius Visualiser Controller

參照在選擇/放置塔時顯示塔半徑的可視化器。

TowerUI

參照顯示塔的等級、DPS以及升級或出售塔按鈕的 TowerUI。

Build Info UI

參照了從構建選單中選擇塔時出現的滑動面板。

註一:TowerPlaceConfirmationUI 的曾孫物件 ConfirmButton 的 On Click 要設定如下,在 手機上才能正常放置塔,CloseButton  On Click 要設定如註二


註二:TowerPlaceInvalid 的曾孫物件 CloseButton 的 On Click 要設定如下,在 手機上才能正常取消:


註三:GameCamera 的 Tower Defense Touch Input 元件的最後兩個欄位必須依下圖拖入 UI 畫布的 TowerPlaceConfirmationUI 及 TowerPlaceInvalid:


沒有留言:

張貼留言