最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法

 更新時(shí)間:2021年10月25日 10:28:43   作者:小紫蘇xw  
游戲中收到傷害掉血,會(huì)有飄動(dòng)的傷害數(shù)值,本文主要介紹Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

傷害數(shù)字顯示HUD

游戲中收到傷害掉血,會(huì)有飄動(dòng)的傷害數(shù)值;

可以使用OnGUI中GUI.Label來實(shí)現(xiàn);

可自定義字體,顏色,大小等;

如果需要更好看的數(shù)字特效,可以手動(dòng)添加;

普通字體不夠好看可以使用插件FontEditor自定義;

Demo展示

HUDPopup類

飄血數(shù)字類,創(chuàng)建一個(gè)空物體,將這個(gè)腳本掛上去,再將這個(gè)物體拖成預(yù)制體;

public class HUDPopup : MonoBehaviour 
{
    //目標(biāo)位置  
    private Vector3 mTarget;  
    //屏幕坐標(biāo)  
    private Vector3 mScreen;  
    //傷害數(shù)值  
    public int Value;
    //文本寬度  
    public float ContentWidth;  
    //文本高度  
    public float ContentHeight;
    //GUI坐標(biāo)  
    private Vector2 mPoint;
    //銷毀時(shí)間  
    public float FreeTime = 1.5F;
    public Font font;
    public Color color;
    public int fontSize;
    public float speed;
    void Start ()
    {
        //獲取目標(biāo)位置  
        mTarget = transform.position;  
        //獲取屏幕坐標(biāo)  
        mScreen = Camera.main.WorldToScreenPoint(mTarget);  
        //將屏幕坐標(biāo)轉(zhuǎn)化為GUI坐標(biāo)  
        mPoint = new Vector2(mScreen.x, Screen.height - mScreen.y);  
        //開啟自動(dòng)銷毀線程  
        StartCoroutine("Free");  
    }  
  
    void Update()  
    {  
        //使文本在垂直方向山產(chǎn)生一個(gè)偏移  
        transform.Translate(Vector3.up * speed * Time.deltaTime);
        //重新計(jì)算坐標(biāo)  
        mTarget = transform.position;  
        //獲取屏幕坐標(biāo)  
        mScreen = Camera.main.WorldToScreenPoint(mTarget); 
        //將屏幕坐標(biāo)轉(zhuǎn)化為GUI坐標(biāo)  
        mPoint = new Vector2(mScreen.x, Screen.height - mScreen.y);
    }  
  
    void OnGUI()  
    {  
        //保證目標(biāo)在攝像機(jī)前方  
        if(mScreen.z>0)  
        {  
           //內(nèi)部使用GUI坐標(biāo)進(jìn)行繪制  
           GUIStyle style = new GUIStyle();
           style.fontSize = fontSize;
           style.font = font;
           style.normal.textColor = color;
           GUI.Label(new Rect(mPoint.x, mPoint.y, ContentWidth, ContentHeight), "-"+Value.ToString(),style);
        }  
    }  
  
    IEnumerator Free()  
    {  
        yield return new WaitForSeconds(FreeTime);  
        Destroy(this.gameObject);  
    }  
}  

一些自定義屬性,默認(rèn)Color的透明度是0,如果出現(xiàn)不顯示,可以看看這里;

使用時(shí),在需要有掉血數(shù)字的物體上的腳本中實(shí)例化HUDPopup,創(chuàng)一個(gè)HUD預(yù)制體對(duì)象,放在該物體的子節(jié)點(diǎn)下某個(gè)位置(一般在怪物頭頂創(chuàng)建一個(gè)空節(jié)點(diǎn),用來當(dāng)HUD的父物體);

測(cè)試類代碼:

public class Test : MonoBehaviour
{
    public GameObject popupDamage;
    public Transform hudPos;
    
    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            GameObject mObject = (GameObject)Instantiate(popupDamage, hudPos.position, Quaternion.identity);
            mObject.GetComponent<HUDPopup>().Value = Random.Range(20, 40);
        }
    }
}

到此這篇關(guān)于Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法的文章就介紹到這了,更多相關(guān)Unity 傷害數(shù)字顯示HUD內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Parallel.For循環(huán)與普通for循環(huán)的性能比較

    Parallel.For循環(huán)與普通for循環(huán)的性能比較

    這篇文章介紹了Parallel.For循環(huán)與普通for循環(huán)的性能比較,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#開發(fā)WPF程序中的弱事件模式

    C#開發(fā)WPF程序中的弱事件模式

    這篇文章介紹了C#開發(fā)WPF程序中的弱事件模式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • c#使用xamarin編寫撥打電話程序

    c#使用xamarin編寫撥打電話程序

    Xamarin是一個(gè)行動(dòng)App開發(fā)平臺(tái),提供跨平臺(tái)開發(fā)能力,開發(fā)人員透過Xamarin開發(fā)工具與程序語言,即可開發(fā)出iOS、Android 與Windows 等平臺(tái)的原生(Native) App 應(yīng)用程序,不須個(gè)別使用各平臺(tái)的開發(fā)工具與程序語言,
    2015-05-05
  • C#使用Socket實(shí)現(xiàn)本地多人聊天室

    C#使用Socket實(shí)現(xiàn)本地多人聊天室

    這篇文章主要為大家詳細(xì)介紹了C#使用Socket實(shí)現(xiàn)本地多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C#實(shí)現(xiàn)DataList里面嵌套DataList的折疊菜單

    C#實(shí)現(xiàn)DataList里面嵌套DataList的折疊菜單

    這篇文章主要介紹了C#實(shí)現(xiàn)DataList里面嵌套DataList的折疊菜單,以實(shí)例形式詳細(xì)分析了DataList嵌套實(shí)現(xiàn)折疊菜單所涉及的JavaScript、HTML與C#相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • C#使用log4net打日志

    C#使用log4net打日志

    本文主要介紹了C#使用log4net打日志,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# WebApi 路由機(jī)制剖析

    C# WebApi 路由機(jī)制剖析

    這篇文章主要介紹了C# WebApi 路由機(jī)制剖析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 10個(gè)C#程序員經(jīng)常用到的實(shí)用代碼片段

    10個(gè)C#程序員經(jīng)常用到的實(shí)用代碼片段

    如果你是一個(gè)C#程序員,那么本文介紹的10個(gè)C#常用代碼片段一定會(huì)給你帶來幫助,從底層的資源操作,到上層的UI應(yīng)用,這些代碼也許能給你的開發(fā)節(jié)省不少時(shí)間。以下是原文:
    2015-09-09
  • C#實(shí)現(xiàn)winform版飛行棋

    C#實(shí)現(xiàn)winform版飛行棋

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)winform版飛行,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • DataGridView帶圖標(biāo)的單元格實(shí)現(xiàn)代碼

    DataGridView帶圖標(biāo)的單元格實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了DataGridView帶圖標(biāo)的單元格的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論

河东区| 肥乡县| 安宁市| 聂拉木县| 梓潼县| 个旧市| 柘荣县| 宁津县| 罗江县| 筠连县| 呼图壁县| 凌海市| 锡林郭勒盟| 中超| 土默特右旗| 邵阳市| 内乡县| 浙江省| 南皮县| 神木县| 沙洋县| 逊克县| 元朗区| 祁东县| 广灵县| 万山特区| 襄城县| 大同县| 准格尔旗| 竹山县| 阿拉善右旗| 高雄市| 开鲁县| 武胜县| 渭源县| 霞浦县| 东源县| 晋中市| 江陵县| 黄梅县| 葵青区|