Unity NGUI弧形血条的制作
unity版本:4.6 NGUI版本:3.6.
(转载请注明参考链接及作者)
参考链接:http://www.cnblogs.com/louissong/p/3841656.html,作者:博客园 LouisSong
很多情况下,我们需要做血量条来显示对象的血量,条状的血量条很容易,直接用NGUI里面的进度条就可以实现,但是有时候我们需要在一些地方做弧形的血量条,下面介绍弧形血量条的方法。
1、首先你需要一张弧形血量的图片,导入到NGUI的Altas中,NGUI图集Altas制作参考:http://www.cnblogs.com/vitah/p/3855982.html,下面已经导入了两张表示弧形血量的图片,如下所示:
2、导入图片后可以开始血条的制作,血条的显示可以用一个进度条或者两个Sprite来表示,其实就是用两个Sprite来表示血量,一个表示当前血量,一个表示已损失的血量,进度条里的Background和Foreground实质就是如此,下面只以一个Sprite为例来说明:
在Camera下创建一个Sprite,选择导入的表示血量的Altas和Sprite,效果如下:
这里再介绍下Sprite的各种参数:
Type:
Smple:除了显示内容从图集里面获取外,其他都和Texture一样的绘制
Sliced:这个模式支持九宫格拉伸,让四个角落的图片不变型,点击Sprite右侧的Edit按钮可以进行Sprite数据的编辑,设置Border的值即可。
Tiled:瓦片填充,会平铺进行填充
Filled:这个主要用来做技能CD、进度条等用。FillDir设置填充的模式(360度扇形,水平,垂直等),Fill Amount是填充百分比
Flip:对Sprite进行翻转:水平、垂直、水平+垂直
3、为了能展示血条的增加和减少,Type肯定选择Filled不用多说,我们现在只是需要调节血条的填充模式即Fill Dir选项:
选择Horizontal和Vertical可以看到改变Fill Amount的值的时候血条分别是从左到右和从上到下减少的,血条的边缘处会有一个斜角,如下图:
同样我们测试Fill Dir中的Radial90、180、360选项,可以很明显的看出NGUI里面Radial90是以矩形图片左下角的点为圆心减少和增加,Radial180是以图片矩形的底边中点为圆心,而Radial360是以矩形的对角线交点为圆心进行增减,Radial90和Radial180不必说,血条的边缘显示必定有倾角,而Radical360也会有倾角的存在,如下图:
4、事实上,我们需要的是以图片矩形的上边的中点为圆心来进行血条的增加和减少,这样才能保证边缘处的倾角美观一致,可以按如下方法制作:
把图片进行垂直翻转,即Flip选项设为Vertically,可以看到,图片已经翻转过来,这时候选择填充模式为Radial180,圆心仍然是矩形的底边中点,但图片已经翻转,可以看到这时候血条的边缘已经一致了,效果如下:
可以看到血条的边缘已经很美观了;
5、但是这时候,血条的显示已经翻转过来,原来的血条效果是成凹形的,现在变成凸形的了,可以改变Transform中的Rotation值再次翻转,使血条的显示和给定图片中的效果一致,如下图:
6、接下来,我们可以再按上述方式创建一个红色血条表示血量的减少,通过脚本控制它们两者的Fill Amount的值就可以用绿色表示当前血量,红色表示已损失的血量,在此不再赘述。
总结:
1、现在这种方式好像只能用于半圆形血条的显示效果,一定圆心角的弧长血条没有相应的美术资源没有测试过不太清楚;
2、原来的想法是叫美术出了一个上半环为透明的下半环为绿色的表示血量的正方形图片,然后填充模式用Radial360,类似以前实现技能CD效果的方法来做,但是在导入到Altas中Unity会自动把透明的部分给切掉,此方法失败。
如果有更好的方法或者疑问请留言,或者邮箱linw1225#163.com(#换成@),谢谢~~~
Unity NGUI弧形血条的制作的更多相关文章
- unity如何显示血条(不使用NGUI)
用unity本身自带的功能,如何显示血条? 显示血条,从资源最小化的角度,只要把一个像素的色点放大成一个矩形就足够,三个不同颜色的矩形,分别显示前景色,背景色,填充色,这样会消耗最少的显存资源. un ...
- 【FairyGUI & Unity】实现血条UI扣血与加血的缓动效果
组件设计 创建一个进度条组件,作为血条. bar是实际血量条 DownBar是扣血缓动背景图层 UpBar是加血缓动背景图层 LowBar是低血量变色(和控制器配合,本文不讲) n11组合是血量参考线 ...
- Unity NGUI 3.0.4版本 制作网络版斗地主
Unity NGUI 3.0.4版本 @by 灰太龙 开发环境 Win7旗舰版 Unity 4.2.1f4 本文就写个开门篇,告诉大家怎么用NGUI,第一步导入NGUI 3.0.4版本! 1.启动U ...
- Unity NGUI 血条制作
NGUI 血条制作步骤 实现过程: 模拟血条的变化当点击按钮Button是血条会实时发生变化. 1.向Unity中导入NGUI2.6.3.unitypackage 点击create your ui 后 ...
- unity制作简单血条
学习Unity已经10天了,也没发现有什么长进,真的急.昨天仿着官方Demo做了个射击游戏轮廓,其中需要给每个怪做一个血条. 搜了一些,挺复杂的,用NGUI或者UGUI,外加很长的代码...不过还是找 ...
- 关于Unity中NGUI的3D角色血条的实现
首先要到Unity的Assets Store里面去下载一个扩展的Package叫NGUI HUD Text v1.13(81),注意如果没有安装NGUI就必须先安装NGUI插件,否则会用不了,因为HU ...
- Shader实例:NGUI制作网格样式血条
效果: 思路: 1.算出正确的uv去采样过滤图,上一篇文章说的很明白了.Shader实例:NGUI图集中的UISprite正确使用Shader的方法 2.用当前血量占总血量的百分比来设置shader中 ...
- 制作Unity中的单位血条
本文章用于记录Unity的学习过程,如有疑问,欢迎交流. 1.血条的显示 在Unity场景中创建空物体,然后新建两个Image(图片),当然只用一个也行,一个作为填充来显示血量,一个作为血条的外框. ...
- Unity中制作血条2.0
##1.血量显示 不必像之前那样添加Slider组件 直接创建Image 在添加Source Image之后,将Image Type 修改为Filled 通过修改Fill Mode就可以显示不同效果 ...
随机推荐
- 各种语言简单的输出Hello World
PHP echo 'Hello World'; Java System.out.println("Hello World"); Shell_(BashShell) echo Hel ...
- wpf鼠标捕获与控件交互——UIElement.CaptureMouse
应用场景是这样的,我需要拖动一个元素在屏幕上移动,注册了被移动元素的MouseMove事件,但是当鼠标移到被移动元素的外面时,移动失效,且鼠标的手势变成了普通的箭头形状,于是就找到了以下的解决方案. ...
- C# 使用winForm的TreeView显示中国城镇四级联动
直接上代码吧,这里 MySql.Data.MySqlClient;需要到mysql官网下载mysql-connector-net-6.9.8-noinstall.zip 访问密码 6073 usi ...
- GUIText的淡入淡出
单击按键“A”(随意改变),可以控制GUIText马上显示出来,然后淡出:按住按键“A”,可以使GUIText淡入,如果抬起按键则淡出. FadeInOut.cs using UnityEngine; ...
- EXTJS 4.2 资料 控件之Grid 行编辑绑定下拉框,并点一次触发一次事件
主要代码: { header: '属性值', dataIndex: 'PropertyValueName', width: 130, editor: new Ext.form.field.ComboB ...
- 【BZOJ 1412】[ZJOI2009]狼和羊的故事
Description “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! O ...
- maven3.1.1适合搭配的jdk版本
maven 可以帮助我们管理项目的jar 不同的版本对jdk的要求也不相同, 比如3.1.1就要搭配1.6或以上的jre但是1.7有的版本还是会有点问题 当maven所需的jre版本不对应时项目会报错 ...
- 集成“支付宝” -b
大致步骤 1.与支付宝签约获取相关参数 合作者身份 ID 与安全校验码 key2.下载需要导入的文件,做相应设置3.在自己的项目中集成支付的方法代码 详细步骤 1.获取合作者身份 ID 与安全校验码 ...
- Xcode6中autolayout和sizeclass的使用
一.关于自动布局(Autolayout) 在Xcode中,自动布局看似是一个很复杂的系统,在真正使用它之前,我也是这么认为的,不过事实并非如此. 我们知道,一款iOS应用,其主要UI组件是由一个个相对 ...
- qwt 6.1.0集成进Qt creator 2.8.1步骤
环境准备与文件编译 ·关于Qt 发现一个Qt正确安装的教程,非常棒!http://www.wikihow.com/Install-Qt-SDK-on-Ubuntu-Linux Qt版本是4.8.5,在 ...