Unity3d NGUI的使用(五)(UISprite&UISlider制作彩色血条)
2014-04-01 17:15
666 查看
使用NGUI可以制做出彩色角色血条,加载进度条
制作血条时,可以根据血的多少显示不同的颜色,可以对UISider与UILabel进行简单的封装
UISprite:NGUI精灵图片组件
Atlas:图片集
Sprite:选择的图片集中的图片
Sprite Type:Simple(对图片不进行处理,进行缩放到用户指定大小),Sliced(切成小片的图片来适应大小)
Tiled(以砖块的形式填充区域,进图片不进行缩放),Filled(填充区域),Advacced(高级的,可自定义边缘的像素)
如果是小块的图片,需要进精灵的类型进行修改,这样才能达到效果
制作彩色滑动条:
a.在Widget Tool里添加一个Progress Bar,默认的为我们添加了一个UISider(NGUI compent)
Value:百分比
Alpha:透明度
Steps:步阀阈值
Appearance:特性
a.Foreground(前景图片)
b.Background(背景图片)
c.Thumb(移动指标)
d.Direction(滑动方向)
On Value Change:当滑动时,进行事件分发
b.在Progress Bar上添加一个Script,用来改变进度不同的颜色
e.在当前的Prgoress Bar在创建一个UILabel,将事件分发指定到UILabel
测试代码:
Unity3d NGUI的使用(五)(UISprite&UISinder制作彩色血条)
制作血条时,可以根据血的多少显示不同的颜色,可以对UISider与UILabel进行简单的封装
UISprite:NGUI精灵图片组件
Atlas:图片集
Sprite:选择的图片集中的图片
Sprite Type:Simple(对图片不进行处理,进行缩放到用户指定大小),Sliced(切成小片的图片来适应大小)
Tiled(以砖块的形式填充区域,进图片不进行缩放),Filled(填充区域),Advacced(高级的,可自定义边缘的像素)
如果是小块的图片,需要进精灵的类型进行修改,这样才能达到效果
制作彩色滑动条:
a.在Widget Tool里添加一个Progress Bar,默认的为我们添加了一个UISider(NGUI compent)
Value:百分比
Alpha:透明度
Steps:步阀阈值
Appearance:特性
a.Foreground(前景图片)
b.Background(背景图片)
c.Thumb(移动指标)
d.Direction(滑动方向)
On Value Change:当滑动时,进行事件分发
b.在Progress Bar上添加一个Script,用来改变进度不同的颜色
public class UISliderColors : MonoBehaviour { public UISprite sprite; public Color[] colors = new Color[] { Color.red, Color.yellow, Color.green }; UIProgressBar mBar; void Start () { mBar = GetComponent<UIProgressBar>(); Update(); } void Update () { if (sprite == null || colors.Length == 0) return; float val = mBar.value; val *= (colors.Length - 1); int startIndex = Mathf.FloorToInt(val); Color c = colors[0]; if (startIndex >= 0) { if (startIndex + 1 < colors.Length) { float factor = (val - startIndex); c = Color.Lerp(colors[startIndex], colors[startIndex + 1], factor); } else if (startIndex < colors.Length) { c = colors[startIndex]; } else c = colors[colors.Length - 1]; } c.a = sprite.color.a; sprite.color = c; } }当Sprite指定为当前Progress Bar的前景图片
e.在当前的Prgoress Bar在创建一个UILabel,将事件分发指定到UILabel
测试代码:
public class Tt : MonoBehaviour { private UISlider slider; // Use this for initialization void Start () { slider = GetComponent<UISlider>(); slider.value = 0; } // Update is called once per frame void Update () { if(slider!=null) { Debug.Log(slider.value); slider.value += 0.0005f; } } }
Unity3d NGUI的使用(五)(UISprite&UISinder制作彩色血条)
相关文章推荐
- Unity3d NGUI的使用(五)(UISprite&UISlider制作彩色血条)
- Unity3d NGUI的使用(九)(UIScrollView制作滑动列表)
- Unity3D 使用NGUI制作简易弹出窗口声音控制器
- Unity3d NGUI的使用(七)(UIPopup List&使用UIPopup本地化项目)
- Unity3d NGUI的使用(十三)(UITextList制作聊天窗口)
- Unity3d NGUI的使用_UIScrollView制作滑动列表
- 【Unity&NGUI】圆环血条制作&以及多层圆环血条的实现
- Unity3d NGUI的使用(九)(UIScrollView制作滑动列表)
- Unity3D使用NGUI制作小地图
- Unity3d NGUI的使用(十四)(NGUI制作Tab形式UI)
- Unity3d NGUI的使用(九)(UIScrollView制作滑动列表)
- UNITY3D使用NGUI制作自适应UI的总结
- Unity3d NGUI的使用(七)(UIPopup List&使用UIPopup本地化项目)
- (转) Unity3D 使用Texturepacker打包工具制作NGUI(Atlas)图集
- Unity3d NGUI的使用(十四)(NGUI制作Tab形式UI)
- Unity3d中NGUI加强版血条(Healthbar)的制作
- Unity3d NGUI的使用(六)(UIInput&多个UICheckBox单选的使用)
- Unity3d NGUI的使用(七)(UIPopup List&使用UIPopup本地化项目)
- Unity插件NGUI制作血条--HUD的基本使用
- Unity3D使用NGUI制作小地图