Unity 血条跟随

        在我们很多的unity游戏中血条是必不可少的一个东西,我们如何将他实例化在我们人物的头上呢,这时候就用到了一些东西,接下来我们来看看吧!

我们可以建一个Scrollbar或者是 Slider作为我们血条的预制体

我们把它放进Resources文件夹下(注意名称输入别错误咯)

 

创建一个Cube作为我们的主角,那么我们开始写代码吧

# 实现的原理
因为我们是使用的UGUI,所以血条都是显示在Canvas上的,最简单的思路就是把玩家的坐标转换成屏幕的坐标,再把血条的坐标重置到人物屏幕坐标的上边上代码。

    //获取我们的相机
    private Camera m_Camera;
    //获取我们的Canvas画布
    private GameObject can;
    //我们要生成的血条
    private Scrollbar scrollbar;
    // Start is called before the first frame update
    void Start()
    {
        m_Camera = Camera.main;
        can = GameObject.Find("Canvas");

        //生成我们血条的预制体
        scrollbar = Instantiate(Resources.Load<Scrollbar>("Hp"), can.transform);
    }

    // Update is called once per frame
    void Update()
    {
        //实时转换为我们玩家的坐标
        scrollbar.transform.position = m_Camera.WorldToScreenPoint(transform.position + transform.up);
    }

这样我们就得到了一个可以跟随我们玩家的血条了

 

 我们移动的时候也可以看到他是实时跟随的

 这样的话,我们并没有实现我们血条跟随玩家的近大远小,这些等后续我们在继续优化我们的血条吧!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值