unity学习之进度条

这篇博客介绍了如何在Unity3D中创建和更新进度条,通过定义2D纹理来展示角色的血量,并在Update函数中根据时间动态增加进度。当进度达到100%时,游戏会自动跳转到登录页面。OnGUI方法用于绘制进度条,包括背景、蓝色和黑色的血条部分,以及显示当前进度的百分比和加载提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

unity学习,希望我的博客能给喜欢unity的朋友带来帮助


今天有同学过生日,所以我们上午没有讲课,十点出发去吃了自助,下午的时候也让我们自由活动放松了,晚饭后我来了教室,学习了一下怎么设置进度条,想想这一天也不是全无收获啊。

       首先进度条用到的是 GUI 的内容,首先在类外面创建一个空的文本纹理,因为是进度条,是由两个空的文本纹理,然后定义一个当前的进度,再接着定义一个 GUI 的方法,在方法里面绘制两个文本域,说白了就是画两个长方形,然后还得定义一个绘制长条的宽度,所谓的宽度就是让当前走的进度乘以放在上面的空的文本纹理的宽度,这样就形成了一个进度条。

       代码如下:

  1. //定义一个蓝血条2D文本纹理
  2. public Texture2D blood_blue; 

  3. //定义一个黑色血条2D文本纹理
  4. public Texture2D blood_black;

  5. //当前进度
  6. public float  HP=0f;
  7. void Update () {
  8. if (HP <=100)
  9. {
  10.     //这是根据时间增加进度
  11.     HP += Time.deltaTime*5;
  12. }

  13. //如果当前进度大于等于100,则进行跳转
  14. else if(HP>=100)
  15. {
  16.     //跳转
  17.     Application.LoadLevel("login");
  18. }
  19. void OnGUI()
  20. {
  21.     string dd = " ";
  22.     GUIStyle cc = new GUIStyle();
  23.     
  24.     //设置背景图片
  25.     cc.normal.background = img;
  26.     GUI.Label(new Rect(0, 0, 1350, 600), dd, cc);
  27.     if (HP<=100)
  28.    {
  29.         //这是定义血的进度
  30.         float blood_width = blood_blue.width * HP/100;
  31.         GUI.DrawTexture(new Rect(100, 510, blood_black.width, 
  32.         //画进度条
  33.         blood_black.height), blood_black);
  34.         GUI.DrawTexture(new Rect(100, 510, blood_width, blood_blue.height), blood_blue);
  35.         
  36.         //设置字体
  37.         GUI.skin.label.fontSize = 30;
  38.         
  39.         //设置颜色
  40.         GUI.color = Color.black;
  41.         GUI.Label(new Rect(1128, 510, 200, 50), (int )HP+ "%");
  42.         GUI.skin.label.fontSize = 13;
  43.         GUI.color = Color.red;
  44.         GUI.Label(new Rect(530,560,200,50),"正在加载.....请稍后.....");
  45.      }
  46. }
更多精彩请关注: http://unity.gopedu.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值