本文是3D游戏编程与设计第九次作业的博客,内容为血条的预制设计
任务说明
血条(Health Bar)的预制设计。具体要求如下
- 分别使用 IMGUI 和 UGUI 实现
- 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
- 分析两种实现的优缺点
- 给出预制的使用方法
成果展示
效果展示
IMGUI
UGUI
设计说明
IMGUI
IMGUI 血条通过 HorizontalScrollbar 实现
public static float HorizontalScrollbar(Rect position, float value, float size, float leftValue, float rightValue);
所以我们可以通过修改 size 的值来实现当前血量的表示
/* Lifebar_IMGUI.cs */
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lifebar_IMGUI : MonoBehaviour {
public float currentHp = 10f;
private float changedHp = 10f;
private Rect lifebarRect;
private Rect hpChangeRect;
private Rect hpChangeLabelRect;
private Rect addBtnRect;
private Rect decBtnRect;
pri