也谈Unity血条的制作
2017-09-13 11:16
489 查看
如果百度一下,会有很多很多关于血条的制作方法。经过试验,总结了最最简单、有效的方法:
1、创建一个Canvas,设置为WorldSpace模式,作为子物体挂到需要显示血条的角色物体下面,设置一下位置和Scale,让他大小和位置比较适合角色。
2、在Canvas里面加一个Image,改名为Background,背景图片选UISprite或者Background都可,颜色选择背景色,比如红色。Anchors设置为(min(0,0)max(1,1)),这样如果Canvas大小改变,会随着父类改变尺寸。
3、在Background下再建一个Image,改名为HealthBar,背景图片设置同上,颜色任意比如绿色,关键是,设置Anchors为(min(0,0),max(1,1)),Pivot设置为(0,0.5),这样,这个图片大小改变时,总是左边对齐的。
添加一个脚本代码如下:
1、创建一个Canvas,设置为WorldSpace模式,作为子物体挂到需要显示血条的角色物体下面,设置一下位置和Scale,让他大小和位置比较适合角色。
2、在Canvas里面加一个Image,改名为Background,背景图片选UISprite或者Background都可,颜色选择背景色,比如红色。Anchors设置为(min(0,0)max(1,1)),这样如果Canvas大小改变,会随着父类改变尺寸。
3、在Background下再建一个Image,改名为HealthBar,背景图片设置同上,颜色任意比如绿色,关键是,设置Anchors为(min(0,0),max(1,1)),Pivot设置为(0,0.5),这样,这个图片大小改变时,总是左边对齐的。
添加一个脚本代码如下:
class HealthBar : MonoBehaviour { [SerializeField, Tooltip("血量最大值")] protected float m_MaxHealth; protected float m_ParentWidth; protected RectTransform m_HealthBar; protected float m_CurHealth; public float CurrentHealth { get { return m_CurHealth; } set { m_CurHealth = value; RecalcSize(); } } public float MaxHealth { get { return m_MaxHealth; } set { m_MaxHealth = value; RecalcSize(); } } private void Awake() { RectTransform background = transform.Find("Background").GetComponent<RectTransform>(); m_ParentWidth = background.rect.width; m_HealthBar = transform.Find("Background/Healthbar").GetComponent<RectTransform>(); m_CurHealth = m_MaxHealth; RecalcSize(); } private void RecalcSize() { if (m_CurHealth > m_MaxHealth) m_CurHealth = m_MaxHealth; if (m_CurHealth <= 0) m_CurHealth = 0; m_HealthBar.sizeDelta = new Vector2(m_CurHealth / m_MaxHealth * m_ParentWidth, m_HealthBar.sizeDelta.y); } private void Update() { // 这里不能单纯的用lookat,因为血条会跟随角色旋转。 transform.rotation = Camera.main.transform.rotation; } }
相关文章推荐
- Unity制作血条
- Unity之使用UGUI制作人物移动,血条跟随效果!
- 最新 unity 血条的另类制作-伤害减血加血自动回血
- 【Unity&NGUI】圆环血条制作&以及多层圆环血条的实现
- Unity插件NGUI制作血条--HUD的基本使用
- Unity 3d之NGUI【特效制作 1】 制作血条,能量条
- Unity制作头顶血条方式对比与优化
- unity中简单的血条制作
- 第一个游戏动作开发日志——Unity2D的血条制作
- Unity_血条的制作_056
- Unity角色血条等信息制作
- unity制作简单血条
- unity制作动态摇杆
- 关于Unity中使用刚体制作简单跑酷案例
- Unity2D 制作小游戏FlappyBird心得—Unity5学习笔记
- 【Unity】生成敌人并添加血条
- unity__血条和音效的添加
- BMFont中文字体图集制作的方法~(for unity ngui)
- unity3d学习笔记(九)--NGUI制作英雄和怪物的头像和血条
- Unity血条效果,图片动画