unity 中让Text的文字动态刷新形式

 

第一种刷新文字形式ide

using UnityEngine; using System.Collections; using UnityEngine.UI; public class SensorTextRefresh2 { // Use this for initialization
    string showstring; public Text _text; public string otherName = "normal"; string current; RefreshState refreshState; int index = 0; public void Init(Text _t, string _s, int _index, string _otherName) { refreshState = RefreshState.start; _s = float.Parse(_s).ToString("0.00"); if (index == 0) { showstring = _s; current = _s; } else if (index == 1) { //if (_text.transform.parent.name == "transmitter" || _text.transform.parent.name == "temperature1")
 { showstring = _s; current = _s; } //else //{ // showstring = _s + "℃"; // current = _s + "℃"; //}
 } else { } _text = _t; index = _index; otherName = _otherName; //Debug.LogError( " " + _text.transform.parent.parent.parent.name);
 } public void SetString(string _s) { //if (refreshState == RefreshState.start)
 { _s = float.Parse(_s).ToString("0.00"); if (index == 0) { current = _s; _text.text = ""; _text.text = current; } else if (index == 1) { current = _s; _text.text = ""; //if (otherName.Contains("PP")) //{ // Debug.LogError(" " + _text.text); //} //if (otherName.Contains("TP")) //{ // Debug.LogError(" " + _text.text); //} //if (otherName.Contains("LP")) //{ // Debug.LogError(" " + _text.text); //} //if (otherName.Contains("JP")) //{ // Debug.LogError(" " + _text.text); //} //if (otherName.Contains("YP")) //{ // Debug.LogError(" " + _text.text); //}
 } else { } } } // Update is called once per frame
    float timer = 1.0f; float stringLength = 0; float speed = 1.0f; int i = 0; public void Update() { if (_text == null) return; if (refreshState == RefreshState.start) { _text.text = ""; refreshState = RefreshState.show; } if (refreshState == RefreshState.show) { stringLength += Time.deltaTime * speed; if (stringLength <= 1) { string temp = showstring.Substring(0, showstring.Length); //_text.text = temp.Substring(0, (int)stringLength - 1); //_text.text += "<color=#E7E7E9FF>" + temp.Substring((int)stringLength - 1, 1) + "</color>"; 
                if (otherName.Contains("TP") || otherName.Contains("TF") || otherName.Contains("温度")) { _text.text = ("<color=#E7E7E9FF>" + temp.Substring(0, showstring.Length) + "</color>" + ""); } else if (otherName.Contains("PP") || otherName.Contains("PF") || otherName.Contains("压力")) { _text.text = "<color=#E7E7E9FF>" + temp.Substring(0, showstring.Length) + "</color>" + "Mpa"; } else if (otherName.Contains("JP") || otherName.Contains("YP") || otherName.Contains("LP") || otherName.Contains("JF") || otherName.Contains("YF") || otherName.Contains("LF") || otherName.Contains("计量泵") || otherName.Contains("油剂泵") || otherName.Contains("挤压机频率")) { _text.text = "<color=#E7E7E9FF>" + temp.Substring(0, showstring.Length) + "</color>" + "Hz"; } else if (otherName.Contains("电流")) { _text.text = "<color=#E7E7E9FF>" + temp.Substring(0, showstring.Length) + "</color>" + "A"; } } else if (stringLength > 1 && stringLength <= 2) { if (otherName.Contains("TP") || otherName.Contains("TF") || otherName.Contains("温度")) { _text.text = ""; } else if (otherName.Contains("PP") || otherName.Contains("PF") || otherName.Contains("压力")) { _text.text = "Mpa"; } else if (otherName.Contains("JP") || otherName.Contains("YP") || otherName.Contains("LP") || otherName.Contains("JF") || otherName.Contains("YF") || otherName.Contains("LF") || otherName.Contains("计量泵") || otherName.Contains("油剂泵") || otherName.Contains("挤压机频率")) { _text.text = "Hz"; } else if (otherName.Contains("电流")) { _text.text = "A"; } } else { if (otherName.Contains("TP") || otherName.Contains("TF") || otherName.Contains("温度")) { _text.text = showstring.Substring(0, (int)showstring.Length) + ""; ; } else if (otherName.Contains("PP") || otherName.Contains("PF") || otherName.Contains("压力")) { _text.text = showstring.Substring(0, (int)showstring.Length) + "Mpa"; } else if (otherName.Contains("JP") || otherName.Contains("YP") || otherName.Contains("LP") || otherName.Contains("JF") || otherName.Contains("YF") || otherName.Contains("LF") || otherName.Contains("计量泵") || otherName.Contains("油剂泵") || otherName.Contains("挤压机频率")) { _text.text = showstring.Substring(0, (int)showstring.Length) + "Hz"; } else if (otherName.Contains("电流")) { _text.text = showstring.Substring(0, (int)showstring.Length) + "A"; } } if (stringLength > 3.0f) { //结束
                stringLength = 0; refreshState = RefreshState.end; } } if (refreshState == RefreshState.delay) { _text.text = ""; stringLength += Time.deltaTime; if (stringLength >= timer) { refreshState = RefreshState.end; } } if (refreshState == RefreshState.end) { stringLength = 0; if (!showstring.Equals(current)) { showstring = current; } refreshState = RefreshState.start; } } enum RefreshState { start, show, delay, end } }
View Code

第二种刷新文字形式this

using UnityEngine; using System.Collections; using UnityEngine.UI; public class SensorTextRefresh1 { // Use this for initialization
    string showstring; public Text _text; string current; RefreshState refreshState; int index = 0; public void Init(Text _t, string _s) { refreshState = RefreshState.start; { showstring = _s + ""; current = _s + ""; } _text = _t; } public void SetString(string _s) { if (refreshState == RefreshState.start) { { current = _s + ""; _text.text = ""; } } } // Update is called once per frame
    float timer = 0.3f; float stringLength = 0; float speed = 4.0f; public void Update() { if (_text == null) return; if (refreshState == RefreshState.start) { _text.text = ""; refreshState = RefreshState.show; } if (refreshState == RefreshState.show) { stringLength += Time.deltaTime * speed; int a = (int)(stringLength / 0.5f); if (a % 2 == 0) { //_text.text = showstring.Substring(0, (int)stringLength) + "█"; //_text.text = showstring.Substring(0, (int)stringLength) + "<color=#c6ff00ff>█</color>";
                string temp = showstring.Substring(0, (int)stringLength); _text.text = temp.Substring(0, (int)stringLength - 1); _text.text += "<color=#E7E7E9FF>" + temp.Substring((int)stringLength - 1, 1) + "</color>"; } else { _text.text = showstring.Substring(0, (int)stringLength); } //_text.text = showstring.Substring(0, (int)stringLength);
            if(_text.text.Equals(showstring)) { //结束
                stringLength = 0; refreshState = RefreshState.delay; } } if (refreshState == RefreshState.delay) { stringLength += Time.deltaTime; if(stringLength>=timer) { refreshState = RefreshState.end; } } if(refreshState == RefreshState.end) { stringLength = 0; if(!showstring.Equals(current)) { showstring = current; } refreshState = RefreshState.start; } } enum RefreshState { start, show, delay, end } }
View Code
相关文章
相关标签/搜索