当前位置:   article > 正文

Unity 制作血量滑动条(Slider)_unity ui制作血量条

unity ui制作血量条

1.创建UI slider

层级面板点击右键-UI-slider

2.调整UI位置

选择2D视图,调整锚点和滑动条位置

 3.PS中制作UI

导出2个图层,PNG格式。

4.改成精灵模式(sprite2d)

把两个PNG导入Unity仓库中,选中两个图,右上角从切换为sprite

5.选中左边background,修改滑动条背景图

 选中Fill ,修改Sourceimage

6.用脚本把血量的数据赋值给滑动条的value 

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class ManagerUI : MonoBehaviour
  6. {
  7. // 这个脚本主要管理UI
  8. public Slider oneSlider;
  9. void Start()
  10. {
  11. //初始化滑动条的最大数值为10000,这个是为了与另一个脚本的变量保持一致
  12. oneSlider.maxValue = 10000;
  13. oneSlider.value = 10000;//这个是滑动条当前的数值,随着这个数值的变化,滑动条自己会滑动
  14. }
  15. // Update is called once per frame
  16. void Update()
  17. {
  18. do
  19. {
  20. if (oneSlider == null)
  21. {
  22. Debug.Log("滑动条为空");
  23. break;
  24. }
  25. //从另一个类中拿到血量变量实时赋值给滑动条的当前数值
  26. oneSlider.value = ScoreManager.CurrentBlood;
  27. } while (false);
  28. }
  29. }

你需要另一个类里面的血量变量!附赠另一个管理分数和血量的脚本

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class ScoreManager : MonoBehaviour
  5. {
  6. //分数管理 血量管理
  7. // 如果撞击到金币就加分,如果撞击到障碍物就掉血
  8. public static int CurrentScore=0;
  9. public static int CurrentBlood = 10000;
  10. private void Start()
  11. {
  12. CurrentScore = 0;//初始化
  13. CurrentBlood = 10000;//初始化
  14. }
  15. public static void ScoreAdd()
  16. {
  17. Debug.Log("加分函数开始执行");
  18. CurrentScore += 10;
  19. Debug.Log("分:"+CurrentScore);
  20. }
  21. public static void SubBlood()
  22. {
  23. Debug.Log("掉血函数开始执行");
  24. CurrentBlood -= 100;
  25. Debug.Log("血:" + CurrentBlood);
  26. }
  27. private void OnGUI()
  28. {
  29. Rect oneLableRec = new Rect(100, 100, 50, 50);
  30. GUILayout.Box(CurrentBlood.ToString(), GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false));
  31. // 创建另一个矩形框,背景色为红色,边框宽度为3像素
  32. GUILayout.Box(CurrentScore.ToString(), GUILayout.Width(200), GUILayout.Height(70), GUILayout.ExpandWidth(false));
  33. GUILayout.TextField("欢迎来到跑酷小将", GUILayout.Width(200), GUILayout.Height(50), GUILayout.ExpandWidth(false));
  34. }
  35. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号