yyj469367953 发表于 2015-1-13 18:04

敌人头顶血条的制作心得

最近 正在做一个小项目   是一个射击类型的小游戏 因为 我也属于 小白入门级别的 所以 当想 用NGUI做 怪物头顶 血条 还有弹出 伤害值 的时候 不知道从哪里下手了   随后我就上网搜资料 网上说 有插件可以做出来可是 毕竟是自己学习吗用插件 不知道什么原理 就 弄出来了 所以 决定自己弄一下继续在网上搜 资料和类似的教程在 蛮牛教育上 我看到一个类似的教程有了一些 思路现在 说说自己 学习的 心得    小白级别 说的不对的 地方求指点共同进步 大神勿喷 教程上是拿 NGUI做出来的
首先咱先 建立一个2D UI 在里面 建立2个UI sprite    都拉成长条形都玩过游戏应该知道 啥样   这两个UIsprite 一个做背景 一个减血的滑条做前景(注意depth层级) 然后 往前景的sprite 先添加一个 box colloder 在添加一个 UI slider 脚本 然后把前景的 拖到 forground 背景的 拖到 background

这样 就OK 啦然后 咱就 可以 用 value值控制血条的 滑动了

然后我就把 放到 小怪兽 子物体里   位置 放他脑袋上 那么问题 来了一拖进去 怪物 也跑到 也跑到 UIROOT 里面了而且 怪物的大小 也变的很小 所以我们需要先把 血条 从UI ROOT 里 拿出来把原来的UI root 删了 因为我们知道 所有NGUI 下的东西都是只能在 有UIpanel 脚本的 才可以的 所以在小怪兽 的身上 加一个UIpanel这样 血条 就能拖到他里面 放到脑袋顶上了

然后 把 弄好的东西 做成一个 预设体   OK准备工作做好后我们来写脚本把 因为只是个例子 所以 就写成 点击鼠标一下 受10点伤害using UnityEngine;
using System.Collections;

public class ZomHp : MonoBehaviour {

    public float hp = 100;
    public UISlider blood;
    public float atk = 10;
        void Start () {
      blood = gameObject.GetComponentInChildren<UISlider>();
      blood.value = 1;
    }
       
        // Update is called once per frame
        void Update () {
      if (Input.GetMouseButtonDown(0)) {
            hp -= atk;

      }
      blood.value = hp / 100;
        }
}

很简单的脚本 最后 让 血条 一直面向摄像机
void Update () {
      this.transform.rotation = Camera.main.transform.rotation;
        }


如果 还想 做飘伤害的话 直接实例化字体就好啦        感谢 蛮牛教育 出了这么好的教程给我这些初入江湖的小白 一些指引哈哈

hqblove 发表于 2017-7-28 07:58


我很懒,只想回复看看,另感谢楼主分享

mysol301 发表于 2017-7-26 11:46

不错不错

ypt 发表于 2017-7-26 11:23

说的非常好

rickwang 发表于 2017-7-26 11:33

难得一见的好帖

屮無廾極彡 发表于 2017-7-26 12:07

楼主是超人

ypt 发表于 2017-7-26 11:24

很不错

boobtim 发表于 2017-7-16 22:25

LZ真是人才

陡哥 发表于 2017-7-16 22:35

不错不错

huangdl123 发表于 2017-7-16 22:36

很好哦
页: [1] 2 3
查看完整版本: 敌人头顶血条的制作心得