Unity UGUI HUD 怪物血條實現


首先做一個血條,創建一個名為Follow3DObject的腳本添加到血條控件上。

Follow3DObject.cs的代碼如下:

using UnityEngine;
using System.Collections;

public class Follow3DObject : MonoBehaviour
{

    public Transform target;
    public Vector3 offset = new Vector3(0, 1, 0);

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (target != null)
        {
            transform.position = Camera.main.WorldToScreenPoint(target.position + offset);
        }
    }
}

將上面的腳本的target設置成對應的怪物,就可以看到血條跟着怪物移動了。

 

再給一個血條排序的腳本,這里是簡單的根據Z軸的坐標來對血條進行排序的。實際場景下可能需要根據攝像機看到的怪物的順序來進行排序,只要替換一下排序算法就行了。

using UnityEngine;
using System.Collections;
using Boo.Lang;

public class SortHUD : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        var list = new List<Transform>();
        foreach (Transform t in transform)
        {
            list.Add(t);
        }

        list.Sort((a, b) =>
        {
            return a.position.z.CompareTo(b.position.z);
        });

        for (int i = 0; i < list.Count; i++)
        {
            list[i].SetSiblingIndex(i);
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM