赞
踩
在我们很多的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);
- }
这样我们就得到了一个可以跟随我们玩家的血条了
我们移动的时候也可以看到他是实时跟随的
这样的话,我们并没有实现我们血条跟随玩家的近大远小,这些等后续我们在继续优化我们的血条吧!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。