BZ易风

导航

 

1.创建一个图片lifebar,添加BoxCollider和ProgressBar, 因为血条不需要交互,添加ProgressBar后删除BoxCollider,发现创建后其实时UISlider

2.创建子物体图片Sprite,锚点和lifebar完全对齐,把Sprite设置给UISlider的foreground, 把lifebar设置给组件的background

3.创建子物体文本Label,锚点和lifebar完全对齐

 

HUDText组件

导入HUDText组件,会在Assets下生成HUD Text文件夹

HUD Text内有个example文件夹 删除,

组件一:UIFollowTarge

1.创建3D物体,当作Player,创建空物体做子物体,用来定位血条或名字位置

2.创建空节点NameLabel,下面放Label组件,用来做名称跟随

给NameLabel添加HUD Text的组件UIFollowTarget组件

 

Target:要跟随的物体,主角等

Game Camera:用来渲染Target物体的相机,通常是Main Camera

Ui Camera:UI相机

Disable if Invisible:超出视野范围是否失活Label组件 勾上是 不勾否

当在视野范围时

当物体不在视野中,跟随组件自动失活,节省性能

组件二:HUDText (可以用来做掉血、加血数值显示)

1.创建一个空物体hud在UIRoot下,添加HUDText组件

 

 Bitmap Font:静态字体

True Type Font: 动态字体

Font Size: 字号

Font Style:字体加粗、倾斜等

Apply Gradient: 是否渐变

Gradient Top: 渐变上半部分颜色

Gradien Bottom: 渐变下半部分颜色

Effect:  字体添加效果

  • none: 普通
  • Shadow:阴影
  • Outline: 描边

Effect Color: 描边颜色

Offset Curve: 位置变化

Alpha Curve: 透明度变化

Scale Curve:缩放

2.给hud添加脚本TestHub.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestHub : MonoBehaviour
{
    private HUDText hud;
    private void Awake()
    {
        hud = this.GetComponent<HUDText>();  //获取HUDText组件
    }
    private void Update()
    {
        if(Input.GetMouseButton(0))
        {
            hud.Add(-10, Color.red, 1);         //参数:  数值  字体颜色  字体停留时间
        }
    }
}

效果:

 

posted on 2021-11-12 23:31  BZ易风  阅读(139)  评论(0编辑  收藏  举报