找回密码
 立即注册
查看: 4735|回复: 66

[脚本] 敌人头顶血条的制作心得

[复制链接]
发表于 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;
        }


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2017-7-28 07:58 | 显示全部楼层

我很懒,只想回复看看,另感谢楼主分享
发表于 2017-7-26 11:46 | 显示全部楼层
不错不错
发表于 2017-7-26 11:23 | 显示全部楼层
说的非常好
发表于 2017-7-26 11:33 | 显示全部楼层
难得一见的好帖
发表于 2017-7-26 12:07 | 显示全部楼层
楼主是超人
发表于 2017-7-26 11:24 | 显示全部楼层
很不错
发表于 2017-7-16 22:25 | 显示全部楼层
LZ真是人才
发表于 2017-7-16 22:35 | 显示全部楼层
不错不错
发表于 2017-7-16 22:36 | 显示全部楼层
很好哦
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-29 12:57 , Processed in 0.157043 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表