当前位置:   article > 正文

数控数字控制---比较简单,但是有趣,就记录下来------Unity数字控制_unity 0-8000的数值用0-1控制

unity 0-8000的数值用0-1控制

控制这一组数字的动作,

首先思路是单个数字入手,先能控制单个数字从0-9运行

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class NuberCtrl : MonoBehaviour
  5. {
  6. [Range(0,9)]
  7. public int CurNuber;
  8. public List<GameObject> nuberObjList = new List<GameObject>();
  9. public bool UpDateNuber = true;
  10. private void Update()
  11. {
  12. if (UpDateNuber) {
  13. SetNuber(CurNuber);
  14. }
  15. }
  16. public void SetNuber(int Count)
  17. {
  18. if (nuberObjList.Count <= 0) {
  19. return;
  20. }
  21. foreach (var item in nuberObjList)
  22. {
  23. item.SetActive(true);
  24. }
  25. if (Count == 9)
  26. {
  27. nuberObjList[4].SetActive(false);
  28. return;
  29. }
  30. if (Count == 8)
  31. {
  32. return;
  33. }
  34. if (Count == 7)
  35. {
  36. nuberObjList[1].SetActive(false);
  37. nuberObjList[3].SetActive(false);
  38. nuberObjList[4].SetActive(false);
  39. nuberObjList[6].SetActive(false);
  40. return;
  41. }
  42. if (Count == 6)
  43. {
  44. nuberObjList[2].SetActive(false);
  45. return;
  46. }
  47. if (Count == 5)
  48. {
  49. nuberObjList[2].SetActive(false);
  50. nuberObjList[4].SetActive(false);
  51. return;
  52. }
  53. if (Count == 4)
  54. {
  55. nuberObjList[0].SetActive(false);
  56. nuberObjList[4].SetActive(false);
  57. nuberObjList[6].SetActive(false);
  58. return;
  59. }
  60. if (Count == 3)
  61. {
  62. nuberObjList[1].SetActive(false);
  63. nuberObjList[4].SetActive(false);
  64. return;
  65. }
  66. if (Count == 2)
  67. {
  68. nuberObjList[1].SetActive(false);
  69. nuberObjList[5].SetActive(false);
  70. return;
  71. }
  72. if (Count == 1)
  73. {
  74. nuberObjList[1].SetActive(false);
  75. nuberObjList[0].SetActive(false);
  76. nuberObjList[3].SetActive(false);
  77. nuberObjList[4].SetActive(false);
  78. nuberObjList[6].SetActive(false);
  79. return;
  80. }
  81. if (Count == 0)
  82. {
  83. nuberObjList[3].SetActive(false);
  84. return;
  85. }
  86. }
  87. public void Slider(float indet)
  88. {
  89. SetNuber((int)indet);
  90. }
  91. }

再由一个总的类去管理四个子数字,然后通过子数字的转换,从而控制一组数字的 ,这里面唯一有点懵逼的地方就是数据类型转换,后来把整串数据都变成String类型,再把数据类型转变char数组,然后再摘取每个的char值去重新转回int数值,从而赋值给每个数字

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. //数字计算
  5. public class CalculateNumber : MonoBehaviour
  6. {
  7. public NuberCtrl nb1, nb2, nb3, nb4;
  8. public int count = 1000; //每次默认加50
  9. // Start is called before the first frame update
  10. void Start()
  11. {
  12. dealCount(count);
  13. }
  14. void dealCount(int I)
  15. {
  16. if (I > 9999 || I < 0)
  17. {
  18. return;
  19. }
  20. if (I <= 9999 && I > 999)
  21. {
  22. string str = I.ToString();
  23. char[] c = str.ToCharArray();
  24. nb4.SetNuber(int.Parse(c[3].ToString()));
  25. nb3.SetNuber(int.Parse(c[2].ToString()));
  26. nb2.SetNuber(int.Parse(c[1].ToString()));
  27. nb1.SetNuber(int.Parse(c[0].ToString()));
  28. }
  29. if (I <= 999 && I > 99)
  30. {
  31. nb1.SetNuber(0);
  32. string str = I.ToString();
  33. char[] c = str.ToCharArray();
  34. nb4.SetNuber(int.Parse(c[2].ToString()));
  35. nb3.SetNuber(int.Parse(c[1].ToString()));
  36. nb2.SetNuber(int.Parse(c[0].ToString()));
  37. }
  38. if (I <= 99 && I > 9)
  39. {
  40. nb1.SetNuber(0);
  41. nb2.SetNuber(0);
  42. string str = I.ToString();
  43. char[] c = str.ToCharArray();
  44. nb4.SetNuber(int.Parse(c[1].ToString()));
  45. nb3.SetNuber(int.Parse(c[0].ToString()));
  46. }
  47. if (I <= 9)
  48. {
  49. nb1.SetNuber(0);
  50. nb2.SetNuber(0);
  51. nb3.SetNuber(0);
  52. string str = I.ToString();
  53. char[] c = str.ToCharArray();
  54. nb4.SetNuber(int.Parse(c[0].ToString()));
  55. }
  56. count = I;
  57. }
  58. public void ADD()
  59. {
  60. dealCount(count + 50);
  61. }
  62. public void Reduction()
  63. {
  64. dealCount(count - 50);
  65. }
  66. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/496864
推荐阅读
相关标签
  

闽ICP备14008679号