先創建血條ui界面,之後做成預製,這樣就可以通過代碼調用了。
之後是代碼上面的部分了。
GameObject EnemyPanel = Resources.Load("EnemyPanel") as GameObject;//加載敵人血條 m_EnemyPanel = Instantiate(EnemyPanel, m_transform.position, m_transform.rotation) as GameObject;//實例化血條 m_EnemyPanel.transform.localScale = new Vector3(0.006f, 0.006f, 0.006f);//調整ui大小 m_bloodSlider =m_EnemyPanel.GetComponentsInChildren<UISlider>();//獲取物體組件 m_EnemyHeight = gameObject.collider.bounds.size.y;//通過碰撞器獲取高度 m_NameLabel = m_EnemyPanel.GetComponentsInChildren<UILabel>();//獲取字體組件
//獲取x,y,z三個座標的數值 Vector3 pos = new Vector3(m_transform.position.x, m_transform.position.y + m_EnemyHeight, m_transform.position.z); m_EnemyPanel.transform.position = pos;//值賦給物體位置 m_EnemyPanel.transform.rotation = Camera.main.transform.rotation;//讓ui血條一直面向攝像機
通過這些代碼後。可以實現這個功能不過我遇到一個問題就是無法在攝像機裏渲染,
其實就是渲染裏沒選擇而已。。在攝像機組件裏。渲染全部,就好了
就是記錄一些我遇到的事情