NGUI名字跟隨、傷害顯示、血條和miss效果的製作

這裏講一下類似於魔獸爭霸裏面的血條、傷害和miss效果的製作,

這個涉及到了NGUI裏面的HUDText,它是NGUI的擴展,有效的只有兩個腳本。

其中一個是UIFollowTarget、另外一個是HUDText。




UIFollowTarget腳本所在的物體在編輯器會出現四個選項:

Target表示的是你所要跟隨的3D物體,一般是跟隨在該物體正中心,

所以爲了使其跟隨在物體頂部,一般做法是在物體下面創建子物體,

然後讓子物體位於父物體的頂部,把目標設置爲子物體,

這樣就能實現跟隨在父物體的頂部了。

Game Camera表示渲染Target的Camera,一般來說都是Main Camera。

然後在UI Root面板下面有個Camera

該Camera的Layer爲空,所有UIRoot下的NGUI物體都爲空,

所要該Camera是負責渲染NGUI物體,UiCamera則是它。

添加了UIFollowTarget的任何一個NGUI控件,會跟隨某3D物體。


HUDText用於顯示你所需要顯示的字體,從上至下的屬性名稱依次爲:

動態字體、靜態字體、字體大小、字體風格、應用漸變、漸變字體頂部顏色、

漸變字體底部顏色、字體效果、字體效果的顏色、偏移曲線、透明度曲線和大小變幻曲線。




下面簡單附上一些相應的代碼:

GameObject currentHudTextObj = NGUITools.AddChild(hudTextParent, hudTextPref);
        screamHudText = currentHudTextObj.GetComponent<HUDText>();
        uiFollowTarget = currentHudTextObj.GetComponent<UIFollowTarget>();
        uiFollowTarget.target = hudTextTarget;
        uiFollowTarget.gameCamera = Camera.main;
        uiFollowTarget.uiCamera = UICamera.currentCamera;
        screamHudText.Add(hudTextString, hudTextColor, hudTextDur);

傷害顯示則是把其中Miss改爲相應的數字即可。

這裏要注意的是由於生成的是NGUI的物體,不能直接用unity的原生函數GameObject.Instantiate生成,

而是應該用NGUITools.AddChild函數來將editor界面指定好的prefab物體實例化,並新生成的物體加入到UIROOT

的某個物體下作爲孩子來進行統一管理,否則使用原生函數會出現一些bug。


血條和名字的製作在這裏引用下面的視頻網站第七章。

點擊打開鏈接











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章