本文由作者@zx一路飞奔出品,转载请注明出处

文章地址:http://blog.csdn.net/u014735301/article/details/43085145

作者微博:http://weibo.com/u/1847349851

NGUI HUD Text是一款不错的信息显示插件,

例如人物头顶的对话显示,受到伤害,治疗的数字显示等。

顾名思义,这款插件是基于NGUI开发的,也就是说它必须跟NGUI配套使用。

这里我使用这个插件来做一个攻击伤害的显示,同时也在怪物头顶做了血条。先看看效果!

感觉还是超酷的! 下面来看看插件是怎么使用的

血条制作

在项目中导入NGUI插件和HUD Text插件 创建一个NGUI 2D界面,
创建一个空对象,命名为HP-small,使用2个UISprite图片,HP-bg,HP-for,来作为血条的背景图片,和显示在前面的图片。
同时用到UISlider脚本。value值是用来控制HP-for图片的长度,从而造成扣血的效果

同时为了使血条能够显示在enemy的头顶,还需要添加UIFollowTarget脚本

在enemy上方创建一个空对象,将脚本中target选择那个对象。

这样在游戏中,血条就会跟随enemy的移动而移动了!!同时伤害显示也会在这个地方出现!!

伤害显示

还是在HP-small上挂上HUDText脚本 

True Type Font 选择字体,下面是字体大小,样式,

Effect 是信息显示的样式,我选择none。

Offset ,Alpha,Sacle 为显示信息的动画效果,可以默认,也可以自己调整

在enemy控制脚本中,使用它,

HUDText mText.Add(String text, Color color, float stayDuration)text是需要显示的文本,color是文本颜色,stayDuration是文本显示的时间

[csharp] view plaincopy
  1. //受到伤害
  2. public void GetDamage(float hit, float multipleDamage)
  3. {
  4. Debug.Log("enemy受到了" + hit + "点伤害 * " + multipleDamage);
  5. for (int i = 0; i < multipleDamage; i++)
  6. {
  7. text.Add("-" + hit + "", Color.yellow, 0.1f);
  8. //根据血量的扣除,来调整value的值
  9. slider.value -= 0.1f;
  10. }
  11. EnemyLockTarget(player);
  12. ctrlAnimState = ControlAnimationState.TakeAtk;
  13. }

这样就可以造成刚开始图片中的效果了!!

实例化enemy和血条

在NGUI,创建空对象,命名为HUDRoot,挂上HUDRoot脚本。在实例化hudtext时,就会在该对象下面出现
[csharp] view plaincopy
  1. using UnityEngine;
  2. using System.Collections;
  3. public class SpawnTest : MonoBehaviour {
  4. //enemy 和 HUD 的prefab
  5. public GameObject enemyPrefab,HUDPrefab;
  6. // Update is called once per frame
  7. void Update () {
  8. if (Input.GetMouseButtonDown(0))
  9. {
  10. //实例化enemy
  11. GameObject enemy = Instantiate(enemyPrefab, new Vector3(transform.position.x, transform.position.y,
  12. Random.Range(-5f,5f)), Quaternion.identity) as GameObject;
  13. //在HUDRoot对象下,实例化血条和HUDText
  14. GameObject HUD =  NGUITools.AddChild(HUDRoot.go,HUDPrefab);
  15. //设置target对象为enemy的子物体showInfo
  16. UIFollowTarget follow = HUD.GetComponent<UIFollowTarget>();
  17. follow.target = GameSetting.GetTransform(enemy.transform,"showInfo");
  18. //将hudtext脚本赋值给EnemyController使用
  19. HUDText hud = HUD.GetComponent<HUDText>();
  20. EnemyController enemyC = enemy.GetComponent<EnemyController>();
  21. enemyC.text = hud;
  22. }
  23. }
  24. }
[csharp] view plaincopy
  1. //查找某个物体下无限层级的子物体名称,并返回该子物体。
  2. static public Transform GetTransform(Transform check, string name)
  3. {
  4. foreach (Transform t in check.GetComponentsInChildren<Transform>())
  5. {
  6. if (t.name == name) { return t; }
  7. }
  8. return null;
  9. }

unity手游少侠历险记(3)NGUI:HUD使用相关推荐

  1. MMORPG的一份Unity手游性能蓝皮书

    https://mp.weixin.qq.com/s/iEs-1O3wTntaTrrCnOBn-A 这可能是针对MMORPG最全的一份Unity手游性能蓝皮书 2017-07-21 侑虎科技 游戏葡萄 ...

  2. Unity手游性能测评报告——MOBA篇

    MOBA移动游戏性能分析报告:渲染.UI和逻辑代码是性能头号杀手! UWA曾经发布过MMORPG 和 ARPG 的Unity手游性能测评报告,延续该系列,最近UWA对提交测试(登陆 www.uwa4d ...

  3. UWA发布 | 2017 Unity手游体检蓝皮书 — MMORPG篇

    原文链接:https://blog.uwa4d.com/archives/1903.html 正值UWA成立两周年之际,借着China Joy蓄势待发之势,UWA发布2016-2017年Unity手游 ...

  4. UWA发布|Unity手游性能蓝皮书

    作为游戏行业的服务商,UWA不仅为游戏开发者提供高效的性能优化工具,也致力于为行业提供更全面.更具体的信息和服务.为此,UWA今天发布2019-2020年度手游蓝皮书,从总体性能数据.引擎各模块开销. ...

  5. UWA发布 | Unity手游体检蓝皮书

    作为游戏行业的服务商,UWA不仅为游戏开发者提供高效的性能优化工具,也致力于为行业提供更全面.更具体的信息和服务.为此,UWA今天发布2017-2018年度手游蓝皮书,从总体性能数据.引擎各模块开销. ...

  6. Unity手游性能蓝皮书

    作为游戏行业的服务商,UWA不仅为游戏开发者提供高效的性能优化工具,也致力于为行业提供更全面.更具体的信息和服务.为此,UWA今天发布2020-2021年度手游蓝皮书,从测试机型分布.引擎各模块开销. ...

  7. Unity手游之路十自动寻路Navmesh之跳跃,攀爬,斜坡

    转载 Unity手游之路<十>自动寻路Navmesh之跳跃,攀爬,斜坡 分类: unity2013-12-27 00:50 6545人阅读 评论(5) 收藏 举报 unity3dNavme ...

  8. Unity手游iOS内存分析和测试

    内存是Unity手游的硬伤,如果没有做好内存的相关管理和详细的测试,游戏极有可能出现卡顿.闪退等影响用户体验的现象.在此,笔者为我们介绍了一些Unity手游内存分析和测试过程中比较实用的测试场景案例. ...

  9. unity手游之聊天SDK集成与使用二

    unity手游之聊天SDK集成与使用二 集成思路 如果是自己的小游戏的话,可以把好友等信息直接保存在亲加服务器上,通过调用api来操作. 我们游戏只使用sdk的通信功能,好友等信息保存在自己的服务器上 ...

最新文章

  1. Oracle什么时候需要Commit?
  2. 当下火热的大数据视频,免费送(含源码)
  3. 17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步
  4. DataTable 排序
  5. Oracle中group by用法
  6. SQL-left(right,inner) join
  7. linux 丢包排查思路简述(tcp+rdma)
  8. entitymanager_实体管理器的类型:应用程序管理的EntityManager
  9. IE 浏览器 js new Date NAN
  10. Capital Asset Pricing Model (CAPM)
  11. Atitit linux获取项目运行环境版本
  12. 关闭Windows自动更新—大法
  13. SVN多项目共享导出及故障处理
  14. 别再逐帧扒电影了 生活中处处都有彩蛋!
  15. macbook或mac Apple ID 更新提示连接服务器出错
  16. 【向题看齐】408之计算机组成原理概念记忆总结
  17. 企业微信三方开发(三):网页授权登录
  18. 电子仪表系统显示管理计算机,综合电子仪表系统.ppt
  19. 语雀全新模板中心,你的创作锦囊
  20. LaTeX命令速查手册1

热门文章

  1. 绘图与图片编辑软件:Artstudio Pro Mac
  2. 我在B站拍Vlog:B站95后UP主养成记
  3. 哈工大计算机科学与技术教学方案,计算机科学与技术学科硕士研究生培养方案-哈工大计算机学院...
  4. Springboot Condition 实用讲解,只看一遍包学会
  5. 在vue中使用swiper轮播图(亲测有效)
  6. 物联卡如何助力对讲机建立公网集群?如何实现公网集群管理?
  7. 初探UE4——用Maya为Mixamo上下载的模型和动作骨骼添加根运动节点
  8. python案例源码_python实例作品
  9. Pixhawk在MP上的校准
  10. codeforce_exercise_r23