【Unity3d学习】UI系统——简单的血条制作

写在前面

  • 本次项目较为简单,代码上传到GitHub上:Github传送门
  • 课程实验资料在老师的课程网站上:传送门
  • 实验的视频链接(本次实验演示较简短):传送门

实验内容

实现简单血条预制:

  • 分别使用 IMGUI 和 UGUI 实现
  • 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
  • 分析两种实现的优缺点
  • 给出预制的使用方法

步骤分析:
首先IMGUI在之前的实验中也有用到,主要是用来设置开始游戏和结束游戏的界面。实现方法是在onGUI函数中添加相应的控件(Label、Button等),也就是说每次都调用onGUI都会刷新一次所有控件。
而UGUI是课上新接触的UI设计工具。主要设计可以通过鼠标拖拽、设置属性等方式,在二维平面上完成UI设计,即时能够看到效果。换句话说可以不通过代码就能实现一定的UI效果。

分析完两者的一些区别之后就开始动手实现了。

IMGUI制作简单血条

由于IMGUI主要是通过代码来实现UI,所以也没有说需要建立模型什么的,调整位置也是靠代码控制xy坐标来实现。所以直接上代码:

public class IMGUIhealth : MonoBehaviour
{
   
    public float value;
    private float tmp;
    
    // Start is called before the first frame update
    private void OnGUI()
    {
   
    	// 加号按钮,点击时增加血量,每次增加十分之一
        if (GUI.Button(new Rect(450, 50, 40, 40), "+"))
        {
   
            tmp += 10;
            if (tmp > 100)
                tmp = 100;
        }
		// 减号按钮,点击时减少血量,每次减少十分之一
        if (GUI.Button(new Rect(100, 50, 40, 40), "-"))
        {
   
            tmp -= 10;
            if (tmp < 0)
                tmp = 0;
        }
		// 线性插值,使得变化更平滑
        <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值