血条(Health Bar)制作。具体要求如下
- 分别使用 IMGUI 和 UGUI 实现
- 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
- 分析两种实现的优缺点
IMGUI
效果图:
(血条红色不是很明显,为了显示IMGUI,因此把整个界面都截图了)
The “Immediate Mode” GUI system (also known as IMGUI) is an entirely separate feature to Unity’s main GameObject-based UI System. IMGUI is a code-driven GUI system, and is mainly intended as a tool for programmers. It is driven by calls to the OnGUI function on any script which implements it.
简单来说就是利用代码绘各种控件,创建每种控件的方法都是雷同的。以前写井字棋的时候用过,现在上手弄个血条并不困难。选择用scrollabr
GUI.HorizontalScrollbar(new Rect(20, 20, 200, 20), 0.0f, bloodValue,0.0f, 1.0f, GUI.skin.GetStyle("HorizontalScrollbar"));
主要是利用Mathf.Lerp,Lerp(min,max ,c);
一个“控制进度”的函数,可以看unity中mathf.Lerp的运用,有很多应用介绍。