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

时间:2022-12-11 21:18:58

第一种刷新文字形式

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 = ; public void Init(Text _t, string _s, int _index, string _otherName)
{
refreshState = RefreshState.start; _s = float.Parse(_s).ToString("0.00"); if (index == )
{
showstring = _s;
current = _s; }
else if (index == )
{ //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 == )
{
current = _s;
_text.text = "";
_text.text = current;
}
else if (index == )
{
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 = ;
float speed = 1.0f;
int i = ;
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 <= )
{ string temp = showstring.Substring(, 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(, showstring.Length) + "</color>" + "℃"); }
else if (otherName.Contains("PP") || otherName.Contains("PF") || otherName.Contains("压力"))
{ _text.text = "<color=#E7E7E9FF>" + temp.Substring(, 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(, showstring.Length) + "</color>" + "Hz";
}
else if (otherName.Contains("电流"))
{ _text.text = "<color=#E7E7E9FF>" + temp.Substring(, showstring.Length) + "</color>" + "A"; } }
else if (stringLength > && stringLength <= )
{ 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(, (int)showstring.Length) + "℃"; ;
}
else if (otherName.Contains("PP") || otherName.Contains("PF") || otherName.Contains("压力"))
{
_text.text = showstring.Substring(, (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(, (int)showstring.Length) + "Hz";
}
else if (otherName.Contains("电流"))
{ _text.text = showstring.Substring(, (int)showstring.Length) + "A"; } } if (stringLength > 3.0f)
{
//结束
stringLength = ;
refreshState = RefreshState.end;
}
}
if (refreshState == RefreshState.delay)
{ _text.text = ""; stringLength += Time.deltaTime;
if (stringLength >= timer)
{
refreshState = RefreshState.end;
}
}
if (refreshState == RefreshState.end)
{
stringLength = ;
if (!showstring.Equals(current))
{
showstring = current; }
refreshState = RefreshState.start;
} } enum RefreshState
{
start,
show,
delay,
end
}
}

第二种刷新文字形式

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 = ;
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 = ;
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 % == )
{
//_text.text = showstring.Substring(0, (int)stringLength) + "█";
//_text.text = showstring.Substring(0, (int)stringLength) + "<color=#c6ff00ff>█</color>";
string temp = showstring.Substring(, (int)stringLength);
_text.text = temp.Substring(, (int)stringLength - );
_text.text += "<color=#E7E7E9FF>" + temp.Substring((int)stringLength - , ) + "</color>";
}
else
{
_text.text = showstring.Substring(, (int)stringLength);
}
//_text.text = showstring.Substring(0, (int)stringLength);
if(_text.text.Equals(showstring))
{
//结束
stringLength = ;
refreshState = RefreshState.delay;
}
}
if (refreshState == RefreshState.delay)
{
stringLength += Time.deltaTime;
if(stringLength>=timer)
{
refreshState = RefreshState.end;
}
}
if(refreshState == RefreshState.end)
{
stringLength = ;
if(!showstring.Equals(current))
{
showstring = current;
}
refreshState = RefreshState.start;
} } enum RefreshState
{
start,
show,
delay,
end
}
}

unity 中让Text的文字动态刷新形式的更多相关文章

  1. 3D语音天气球(源码分享)——在Unity中使用Android语音服务

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...

  2. Unity中的万能对象池

    本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan Unity编程标准导引-3.4 Unity中的万能对象池 本节通过一个简单的射击子弹的示例来介 ...

  3. Unity中的GC以及优化

    [简介] 常见的 Unity GC 知识点总结出来的思维导图 Unity 官方文档,正巧在博客园发现了已经有位大神(zblade)把原文翻译出来了,而且质量很高~,译文地址 在这里.下面我就可耻地把译 ...

  4. 关于Unity中的Bmpfont的使用

    系统字体,不占空间,效果一般. 自己拖的.TTF文件形成的字体,占空间很大,有特殊效果.一个TTF字库差不多占用3M左右,之所以这么大,是因为里面包含了所有的字,就像一本字典一样,所以字符都在里面. ...

  5. 浅谈Unity中的GC以及优化

    介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据不在需要的时候,存储当前数据的内存就可以被回收再次使用.内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使 ...

  6. Unity中对SQL数据库的操作

    在Unity中,我们有时候需要连接数据库来达到数据的读取与储存.而在.NET平台下,ADO.NET为我们提供了公开数据访问服务的类.客户端应用程序可以使用ADO.NET来连接到数据源,并查询,添加,删 ...

  7. 关于Unity中的UGUI优化,你可能遇到这些问题

    https://blog.uwa4d.com/archives/QA_UGUI-1.html 关于Unity中的UGUI优化,你可能遇到这些问题 作者:admin / 时间:2016年11月08日 / ...

  8. 解读Unity中的CG编写Shader系列3——表面剔除与剪裁模式

    在上一个样例中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上. 这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后 ...

  9. Unity TextMeshPro替代Text组件创建简体中文字体纹理集

    Unity原生的Text组件有一个毛病,只要文本放大字体放大就会有毛边或锯齿,一个更好的解决方案是用TextMeshPro替代ugui中的Text组件. TMPro采用SDF文字渲染技术,可以使文字放 ...

随机推荐

  1. 解决SprngMVC中ResponseBody注解中文乱码

    配置文件前面加入如下结构,版本号3.2.5 <bean class="org.springframework.web.servlet.mvc.method.annotation.Req ...

  2. Rabbitmq -Publish&lowbar;Subscribe模式- python编码实现

    what is Exchanges ?? Let's quickly go over what we covered in the previous tutorials: A producer is ...

  3. MVC EF 执行SQL语句

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LINQ和SQL对比的文章,网友们 ...

  4. canvas学习笔记:小小滴公式,大大滴乐趣

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 最近想弄一个网页,把自己学HTML5过程中做的部分DEMO放上去做集合,但是,如果就仅仅做个网页把所有DEMO一个一个排列又觉得太难看了. ...

  5. cf 559a &ast;&ast;

    题意:给一个六边形,求小三角形个数 #include<cstdio> #include<iostream> #include<algorithm> #include ...

  6. 使用isql连接Sybase ASE数据库的常见错误及处理方式

    使用isql连接Sybase ASE数据库 Sybase ASE客户端工具中有一个比较实用的命令行工具isql.利用isql可以对ASE数据库服务器进行几乎所有的管理维护工作. 下面用isql工具连接 ...

  7. mybatis实战教程二:多对一关联查询&lpar;一对多&rpar;

    多对一关联查询 一.数据库关系.article表和user表示多对一的关系 CREATE TABLE `article` ( `id` ) NOT NULL AUTO_INCREMENT, `user ...

  8. 启动Docker容器

    启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动. 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器. 新建并 ...

  9. navigateTo、redirectTo、switchTap与reLaunch的区别

    wx.navigateTo:保留当前页,跳转到指定页,非tabBar:使用 wx.navigateBack 可以返回到当前的页面. wx.redirectTo:关闭当前页,跳转到指定页,非tabBar ...

  10. git初始化本地项目及关联github远程库

    一.初始化本地项目 idea中在项目文件夹下执行:git init . 二.在github官网上创建一个库 三.执行如下命令关联远程库: git remote add origin 你创建的git远程 ...