东西湖网站建设公司,全屋定制十大品牌,腾讯云ADM怎么做网站,河南省建筑网官网一、使用UGUI制作血条
我一般使用image制作血条#xff0c;当然#xff0c;也可以使用滑动组件Slider。image的具体操作步骤如下
普通血条
1、在Hierarchy面板中#xff0c;创建两个image组件#xff0c;将其中一个设置为另外一个的子节点
2、在Inspector面板中#…一、使用UGUI制作血条
我一般使用image制作血条当然也可以使用滑动组件Slider。image的具体操作步骤如下
普通血条
1、在Hierarchy面板中创建两个image组件将其中一个设置为另外一个的子节点
2、在Inspector面板中添加imag的精灵并且将Image Type 设置为 Filled 类型。 选择该类型后将Fill Method类型中选择Horizontal 。 这样在编辑器中的操作就完成了
3、下面需要在代码中操进行控制。。获取image组件控制它的fillAmount字段即可
圆形血条
使用UI进行圆形血条滚动。重复上述1、2、3操作即可。
注意 在第2步骤中需要将Fill Method类型中选择Radial 360. Fill Origin 可以控制血条起始的位置。按自己的需求更改即可。 二 使用mesh制作血条
使用mesh制作血条需要用到Shader对mesh进行控制。完整的环形血条shader如以下代码
环形血条
·
Shader CustomBoold/CircleShader {Properties {_MainTex (Base (RGB), 2D) white {}_Angle(fill, range(0, 360.0)) 0_Color (Tint, Color) (1.0, 0.6, 0.6, 1.0)}SubShader { Tags{Queue Transparent }Pass {Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM#pragma vertex vert_img#pragma fragment frag#include UnityCG.cgincuniform sampler2D _MainTex;uniform float _Angle;uniform fixed4 _Color;float4 frag(v2f_img i) : COLOR { float4 result tex2D(_MainTex, i.uv);float angle degrees(atan2(i.uv.x-0.5 , i.uv.y-0.5));if(angle _Angle-180){ result.a 0;}return result*_Color; }ENDCG}}
}1、将上述的shader代码在项目中创建并且创建对应的材质球。将刚刚创建的shader文件拖动到材质球上 2、将材质球添加到预制体的血条上展开shader后可观察到有一段可拖动的滑动条。
3、在代码中获取此物体的材质mat
game.GetComponentInChildrenSpriteRenderer().material
mat.SetFloat(_Angle, 血量比值);普通血条
使用mesh的矩形血条。具体shader只需要修改一处代码即可。将上述的环形shader代码中的frag函数修改为之下的即可。
float4 frag(v2f_img i) : COLOR { float4 result tex2D(_MainTex, i.uv);if(i.uv.x _Angle){ result.a 0;}return result*_Color; }1、将上述的shader代码在项目中创建并且创建对应的材质球。将刚刚创建的shader文件拖动到材质球上
2、在代码中获取此物体的材质mat
game.GetComponentInChildrenSpriteRenderer().material
mat.SetFloat(_Angle, 血量比值);