以下是 NGUI HUD Text 实现的:

基本原理:

1. 在角色头顶绑一个点 Pivot,用于对齐

2. 因为界面总是覆盖在人物头顶信息的上面,所以将 UIRoot 分为2个 Panel:1) GUI,用于画界面,Depth 较大 2) HUDPanel,用于画人物头顶文字及血条,Depth 较小

(1和2是最重要的)

3. 先使用 NGUI 实现一套管理人物头顶信息的类(或若干个类),名为 HUDText,他包含了各种功能(设置名字、名字颜色、血条等)

4. 将 HUDText 存为 Prefab

5. 人物实例化时,自动在 HUDPanel 下实例化一个 HUDText,并将自己的 PivotHUDText 进行关联,在 Update 时,更新 HUDText 的位置与人物保持一致

6. 最后,人物需要各种对头顶信息的操作都调用 HUDText 对象来操作就可以了

使用 NGUI 实现头顶文字及血条的更多相关文章

  1. Unity3D人物头顶名称与血条更新与绘制

    using UnityEngine; using System.Collections; public class NPC : MonoBehaviour { //主摄像机对象 private Cam ...

  2. Unity3D NGUI学习(一)血条

    这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...

  3. pygame 笔记-7 生命值/血条处理

    通常游戏中的角色都有所谓的生命值,而且头顶上会有一个血条显示.生命值无非就是一个属性而已,很容易在Player.py类中增加,头顶上的血条其实就是绘制二个矩形,叠加在一起. 以上节的Player.py ...

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

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

  5. NGUI研究之3D模型坐标转2D屏幕坐标-血条

     刚好今天有朋友问我,比較典型的样例就是游戏里面人物的血条. 原理非常easy就是把3D点换算成2D的点.可是因为NGUI自身是3D所以我们须要先把NGUI下的点转成2D点.然后在把他转成3D的点 ...

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

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

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

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

  8. Unity NGUI弧形血条的制作

    unity版本:4.6 NGUI版本:3.6. (转载请注明参考链接及作者) 参考链接:http://www.cnblogs.com/louissong/p/3841656.html,作者:博客园 L ...

  9. Unity NGUI 血条制作

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

随机推荐

  1. 关于 IOS 发布的点点滴滴记录(一)

    今天又是发布 APP 审核的时候,哎,说来也悲催. 我们产品连这次好像是第四次被苹果公司拒绝了,想想都有点伤感.其实对于里面的内容我到是不是很关心.我关心的是在这过程中我所碰到的奇怪的事情.  (这次 ...

  2. JavaScript之document对象使用

    1.document 对象常用的有三种: A.document.getElementById:通过html元素的Id,来获取html对象.适用于单个的html元素. B.document.getEle ...

  3. angularJs 自定义服务 provide 与 factory 的区别

    <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...

  4. Logger.getLogger()和 LogFactory.getLog()

    Logger.getLogger()和LogFactory.getLog()的区别:    1.Logger.getLogger()是使用log4j的方式记录日志:2.LogFactory.getLo ...

  5. js jquery 判断函数是否存在($.isFunction函数的使用)

    var fun = "testFun"; // 函数的名称 try{ 3 if($.isFunction(fun)){ } } $.alert(fun +'不是函数!'); } 注 ...

  6. Sticks_dfs

    Description George took sticks of the same length and cut them randomly until all parts became at mo ...

  7. Rest文件下载

    public void DownloadFile(string fileId) { //Stream fileStream = null; try { int fileID = Convert.ToI ...

  8. Dynamic支持CollectionView布局 、 MotionEffects特效 、 BlurImage效果 、 TextKit

    1 使用UIDynamicAnimator对集合视图进行布局 1.1 问题 UIKit Dynamic动力模型一个非常有趣的用途就是影响集合视图的布局,可以给集合视图的布局添加各种动力行为,使其产生丰 ...

  9. <td colspan="2" > 一个td占两个 td空间

    <tr> <td>机构名称: ${accreditInfo.companyName}</td> <td>初始授信额度: ${accreditInfo.i ...

  10. Open vSwitch FAQ (二)

    Configuration Problems Q: I created a bridge and added my Ethernet port to it, using commands like t ...