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的值就可以用绿色表示当前血量,红色表示已损失的血量,在此不再赘述。

Github上代码

总结:

  1、现在这种方式好像只能用于半圆形血条的显示效果,一定圆心角的弧长血条没有相应的美术资源没有测试过不太清楚;

  2、原来的想法是叫美术出了一个上半环为透明的下半环为绿色的表示血量的正方形图片,然后填充模式用Radial360,类似以前实现技能CD效果的方法来做,但是在导入到Altas中Unity会自动把透明的部分给切掉,此方法失败。

  如果有更好的方法或者疑问请留言,或者邮箱linw1225#163.com(#换成@),谢谢~~~

Unity NGUI弧形血条的制作的更多相关文章

  1. unity如何显示血条(不使用NGUI)

    用unity本身自带的功能,如何显示血条? 显示血条,从资源最小化的角度,只要把一个像素的色点放大成一个矩形就足够,三个不同颜色的矩形,分别显示前景色,背景色,填充色,这样会消耗最少的显存资源. un ...

  2. 【FairyGUI & Unity】实现血条UI扣血与加血的缓动效果

    组件设计 创建一个进度条组件,作为血条. bar是实际血量条 DownBar是扣血缓动背景图层 UpBar是加血缓动背景图层 LowBar是低血量变色(和控制器配合,本文不讲) n11组合是血量参考线 ...

  3. Unity NGUI 3.0.4版本 制作网络版斗地主

    Unity NGUI 3.0.4版本 @by 灰太龙  开发环境 Win7旗舰版 Unity 4.2.1f4 本文就写个开门篇,告诉大家怎么用NGUI,第一步导入NGUI 3.0.4版本! 1.启动U ...

  4. Unity NGUI 血条制作

    NGUI 血条制作步骤 实现过程: 模拟血条的变化当点击按钮Button是血条会实时发生变化. 1.向Unity中导入NGUI2.6.3.unitypackage 点击create your ui 后 ...

  5. unity制作简单血条

    学习Unity已经10天了,也没发现有什么长进,真的急.昨天仿着官方Demo做了个射击游戏轮廓,其中需要给每个怪做一个血条. 搜了一些,挺复杂的,用NGUI或者UGUI,外加很长的代码...不过还是找 ...

  6. 关于Unity中NGUI的3D角色血条的实现

    首先要到Unity的Assets Store里面去下载一个扩展的Package叫NGUI HUD Text v1.13(81),注意如果没有安装NGUI就必须先安装NGUI插件,否则会用不了,因为HU ...

  7. Shader实例:NGUI制作网格样式血条

    效果: 思路: 1.算出正确的uv去采样过滤图,上一篇文章说的很明白了.Shader实例:NGUI图集中的UISprite正确使用Shader的方法 2.用当前血量占总血量的百分比来设置shader中 ...

  8. 制作Unity中的单位血条

    本文章用于记录Unity的学习过程,如有疑问,欢迎交流. 1.血条的显示 在Unity场景中创建空物体,然后新建两个Image(图片),当然只用一个也行,一个作为填充来显示血量,一个作为血条的外框. ...

  9. Unity中制作血条2.0

    ##1.血量显示 不必像之前那样添加Slider组件 直接创建Image 在添加Source Image之后,将Image Type 修改为Filled 通过修改Fill Mode就可以显示不同效果 ...

随机推荐

  1. C# 与C++的数据转换

    一.类型转化 下面重点罗列下常用的类型转化. C++类型 C#类型 备注说明 Int Int16.Int32 没有悬念,直接转化 Uint UInt16.Uint32.int 在程序中,不太清楚是,就 ...

  2. php session学习笔记(实例代码)

    http  无状态协议 一个服务器向客户端发送消息的时候有三条信息 一是状态二是头信息三是内容 会话控制 让一个用户访问每个页面,服务器都知道是哪个用户访问 cookie cookie是通过头信息发送 ...

  3. ECSHOP添加购物车加图片飞入效果

    为ECSHOP的添加购物车,加入图片飞入效果. 首先: 在goods.dwt中查找添加购物车按钮: 为添加购物车按钮加上id: 例如: <a id="iproduct_{$goods. ...

  4. Catalyst揭秘 Day1 Catalyst本地解析

    Catalyst揭秘 Day1 Catalyst本地解析 今天开始讲下Catalyst,这是我们必须精通的内容之一: 在Spark2.x中,主要会以Dataframe和DataSet为api,无论是D ...

  5. Spark Streaming揭秘 Day26 JobGenerator源码图解

    Spark Streaming揭秘 Day26 JobGenerator源码图解 今天主要解析一下JobGenerator,它相当于一个转换器,和机器学习的pipeline比较类似,因为最终运行在Sp ...

  6. LR中错误代号为27796的解决方法

    问题:   曾经遇到过一个问题,在一次性能测试过程中,使用http协议的多用户向服务器发送请求.设置了持续时间,出现错误为:27796, Failed to connect to server 'ho ...

  7. easy ui 异步上传文件,跨域

    easy ui 跨域上传文件,代码如下: 1.html代码:(这段代码是个win窗体,我在点击上传图片按钮然后弹出一个上传图片的窗体,选择图片再进行上传,这样在form提交时,提交的参数会少一点.) ...

  8. Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  9. 团体程序设计天梯赛-练习集L2-003. 月饼

    L2-003. 月饼 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不 ...

  10. Python利用ConfigParser读取配置文件

    http://www.2cto.com/kf/201108/100384.html #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigPars ...