如图:要制作一个血量条的效果
1.使用NGUI,新建Sprite,选取想要的材质颜色等,再在这个Sprite下新建子Sprite,用作前景图片.
如图所示,血条覆盖在底层Sprite上,”xueliang”为加入的血量文本。
2.排列好血量条的颜色,以及前景图和背景图重叠后,选中前景图”xuetiao”,右键Attach->BoxCollider,新建后再次选中前景图,右键Attach->ProgressBar Script
3.此时前景图在右侧属性栏就出现对应的Script脚本,设置前景图,背景图,调整Value值可改变血量条多少。
到此血量条制作完毕。
4.用代码控制血量条(即修改UI Slider中的Value值)
我的示例代码,脚本挂在父血条上:
public class Xuetiao : MonoBehaviour
{
private UISlider slider;
private UILabel label;
public float xueliang = 500; //总血量
private void Awake()
{
slider = transform.Find("xuetiao").GetComponent<UISlider>();
label = transform.Find("xueliang").GetComponent<UILabel>();
}
// Update is called once per frame
void Update()
{
//每次按A减少100血量
if (Input.GetKeyDown(KeyCode.A) && xueliang > 0)
{
xueliang -= 100;
slider.value = xueliang / 500 ;
label.text = xueliang + "/500";
}
}
}