unity3d学习笔记(九)--NGUI制作英雄和怪物的头像和血条

本文详细介绍了如何使用NGUI在游戏中创建角色头像及血条,并通过具体步骤讲解了如何利用Slider组件实现血条进度的展示。

本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。

http://blog.csdn.net/lzhq1982/article/details/12710797


上一篇讲了NGUI如何制作游戏界面,这一篇来点干货,重点讲NGUI制作头像,血条。先上一张图。


OK,这个就是我实现后的结果。先看看英雄的头像血条部分。


看图说话,我的英雄头像和血条蓝条是在左上角绘制的,所以这些UI都绘制在了锚点LeftTop部分,过程是:先增加一个锚点,我起名Anchor-LeftTop,然后在Inspector面板上找到UIAnchor脚本,Side那里选择TopLeft。



锚点制作完成,然后在锚点下创建一个Panel,命名为HeroBase,我将所有的英雄头像血条蓝条都绘制在这个面板上,这样有益于统一管理,比如我觉得头像位置不好,我移动这个面板就可以了,不用头像血条什么的都重调。然后我要在这个面板上加多少元素呢,如上图,HeroBlood(血条),HeroMana(蓝条),Label(英雄名字),Sprite(heroHead)(头像),Sprite(heroHeadBox)(头像背景),Sprite(heroName)(名字背景),就这些。

我用到的所有图素都用NGUI的Atlas Maker打成了一张图,然后从中选择自己需要的,这个和cocos2d的spriteBatchNode类似,具体怎么用可以参考雨松大神的这篇文章:NGUI研究院之Sprite精灵与精灵动画的使用(二),我这里就不介绍了。先说那几个sprite,相对简单一些,选择NGUI->Open the Widget Wizard,设置如下图所示:


Atlas选你刚建的那个Atlas,用不着字体,Template选Sprite,然后点Sprite会出那个Atlas里的所有图片,选一张你需要的,最后AddTo你要加的面板上就可以了。然后你会在你的Game Scene上看到,调整它到你想要的位置,Unity的可视化编辑太方便了。这里我的头像用的是《时空领地》里的露娜的头像,再一次宣传一下,一款很不多的单机游戏哦,哈哈,sprite很简单,这里重点说一条,就是有关sprite的屏幕显示的前后顺序,如果图素是来自于一个Atlas里的,那么可以通过调整UISprite下的Depth来调整前后遮挡关系,数值越大越在上面,如果不是同一个Atlas里的资源,那调Depth不管用,Unity也会提示你,这时候可以通过调translate的Z值来调整前后。


下面是本篇的重点,血条和蓝条。

我的血条蓝条是用NGUI的Slider做的,选择NGUI->Open the Widget Wizard,我这里的Atlas是用NGUI自带的Fantasy Atlas,找不到的可以在这里找:Project->Assets->NGUI->Examples->Atlases->Fantasy,里面选蓝色小方块的Fantasy Atlas,这是prefab,然后自行拖到那个Widget Tool上的Atlas处。剩下的设置如下图:



Empty就是背景图素,就是没有任何填充的时候的框的图素,Full就是前景,填充满的时候的图素。点击Add To,就会创建一个Slider的控件,其下包含背景,前景和sprite,sprite不用,删掉。然后看背景部分,把scale那里调成长方形,例如我把x调成了200,y是30,然后UISprite部分设置如下:


先看那个Color Tint,是背景框的颜色,默认白色,看我最开始的那张图,我希望即使血条空了漏出后面的框,也是有透明红框的效果,所以这里我设置成了淡红,旁边那个小笔是个吸管工具,你点它可以在界面上提取任何颜色,很方便,Copy是可以复制当前颜色,会在Clipboard中体现出来,当在另一个同样的设置中也想用这个颜色时,点击Paste就可以了,复制粘贴嘛。

重点是下面的Sprite Type,如果用默认的Simple,你会发现你这里是很难看的有黑框的原始图素,选Sliced是那种水平拉伸的图素,选Tiled是垂直的一格一格的图素,适合从上到下进度的那种,Filled选项,是设置那种需要转圈进度的方式,你可以都试一下,我们这里选Sliced。


同理设置前景,颜色要用大红,效果就出来了,然后选择那个Slider父控件,我这里是HeroBlood,我们看一下它的UISlider部分:


那个Value就是我们用来显示进度的百分比,最大为1,你可以拖动它后运行一下看看效果。那个Steps我不知道怎么用,默认就好了,Direction那里有必要说一下,咱们这里是水平的,如果你之前Sprite Type那里选的Tiled,那这里应该选垂直。


好了,看看用法,用法超级简单,你也可以研究一下它的UISlider脚本,里面有个参数是sliderValue,对应的就是上图那个Value,只要改变它就可以了,绘制部分不用你管,它的UISlider里面的Set函数都处理好了,所以你只要像下面这样写一句代码就可以了。

[csharp]  view plain copy
  1. bloodSlider.sliderValue = (float)curHP / MAX_HP;  

不用我解释了吧。


在血条上加个数值吧,这样更直观一些。看上面我的slider截的图,我在slider下加了个Label,选择NGUI->Open the Widget Wizard,Atlas无所谓,Font选NUGI自带的Fantasy Font,它也在上述的Fantasy文件夹下,设置如下图:


然后调整它的位置到血条上,Depth调整到最前面。

用法也简单,直接上代码吧:

[csharp]  view plain copy
  1. bloodText.text = string.Format("{0}/{1}", curHP, MAX_HP);  

只要是进度条都可以像上面这么做,怪物的头像血条也是这种方法,我这里就不赘述了。下一篇我重点讲一下NGUI如何制作中文字体。好累,终于写完了,哈哈。

内容概要:本文围绕“基于三电平ANPC-VSG构网型逆变器复合控制策略”的Simulink仿真实现展开深入研究,系统探讨了虚拟同步发电机(VSG)控制、双闭环控制、中点电位平衡控制以及SVPWM/SPWM调制策略在三电平逆变器系统中的集成应用。结合电力电子变换器的动态特性,提出了一套适用于构网型逆变器的复合控制方案,旨在提升系统在复杂电网环境下的稳定性、动态响应能力与抗干扰性能。研究还涵盖了虚拟阻抗、统一有源阻尼、孤岛检测等关键技术,并通过Matlab/Simulink平台构建完整仿真模型,验证所提控制策略的有效性与可行性。此外,文档整合了大量相关科研资源,覆盖电力系统、机器学习、路径规划、信号处理等多个前沿方向,为科研仿真与工程实践提供了丰富的技术支持与数据支撑。; 适合人群:电气工程、自动化、新能源等相关专业的硕士及博士研究生、高校科研人员,以及从事电力电子、可再生能源系统、微电网与储能系统开发的工程技术人员。; 使用场景及目标:①深入研究三电平ANPC逆变器在构网模式下的控制机理与系统建模方法;②掌握基于VSG的虚拟惯量与阻尼控制、虚拟阻抗设计、中点电位平衡及SVPWM调制等先进控制策略的实现路径;③应用于微电网、光伏储能系统、柔性直流输电等实际工程场景的仿真分析与优化设计,支撑高水平论文撰写与项目开发。; 阅读建议:建议结合文中提供的Simulink仿真模型与Matlab代码进行动手实践,重点关注控制器参数整定、系统动态响应分析与仿真结果对比,同时可利用附带的网盘资源拓展学习深度,提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值