MessageManager提示类的构建+战斗力数值的跳动显示
2018-09-04 17:47
337 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BURYMS/article/details/82387636
1.在固定位置显示不同内容的提示信息MessageManager:
在想要显示提示的位置创建:messageLabel
public class MessageManager : MonoBehaviour { public static MessageManager _instance; private UILabel messageLabel; private TweenAlpha tween_alpha; private bool isTweenFinished = false; private void Awake() { _instance = this; messageLabel = transform.Find("Label").GetComponent<UILabel>(); tween_alpha = this.GetComponent<TweenAlpha>(); this.gameObject.SetActive(false); } /// <summary> /// 对外显示提示信息. /// </summary> public void ShowMessage(string message,float time) { this.gameObject.SetActive(true); StartCoroutine(Show(message, time)); } /// <summary> /// 方法一:纯IEnumerator实现方法. /// </summary> IEnumerator Show(string message,float time=1) { tween_alpha.PlayForward(); messageLabel.text = message; yield return new WaitForSeconds(time); tween_alpha.PlayReverse(); yield return new WaitForSeconds(1); this.gameObject.SetActive(false); } }
2.战斗力数值的跳动显示
在想要显示战斗力跳动的位置创建numLabel
public class PowerShow : MonoBehaviour { private UILabel numLabel;//UI上显示的Label private TweenAlpha tweenAlpha; private float startValue = 0;//初始值. private int endValue = 1000;//结束值. private bool isStart = false;//是否开始显示数值的变化. private bool isUp = true;//是否是数值的上升. private int speed = 500;//数值变化速度. private void Awake() { numLabel = transform.Find("Label").GetComponent<UILabel>(); tweenAlpha = transform.GetComponent<TweenAlpha>(); this.transform.gameObject.SetActive(false);//默认不显示. } private void Update() { if(isStart) { if (isUp) { startValue += speed * Time.deltaTime; //每秒数值变动幅度为500. if (startValue>endValue) {//当初始值大于结束值时结束. isStart = false; startValue = endValue; StartCoroutine(HidePowerChangePanel());//隐藏显示面板. } } else { startValue -= speed * Time.deltaTime; if (startValue < endValue) { isStart = false; startValue = endValue; StartCoroutine(HidePowerChangePanel()); } } numLabel.text = (int)startValue + ""; } } /// <summary> /// 显示战斗力的数值变化. /// </summary> public void ShowPowerChange(float startValue,int endValue) { isStart = true; gameObject.SetActive(true); tweenAlpha.PlayForward(); this.startValue = startValue; this.endValue = endValue; if (startValue<endValue) { isUp = true; } else { isUp = false; } } /// <summary> /// 隐藏战斗力数值变化面板. /// </summary> IEnumerator HidePowerChangePanel() { tweenAlpha.PlayReverse(); yield return new WaitForSeconds(1); gameObject.SetActive(false); } }4000
相关文章推荐
- Oracle问题——查询数值数据时,小数点前0不显示
- excel 以文本形式显示数值
- 用遥控器控制LCD显示按键数值
- ios 提交版本,构建中无法显示
- 数值显示
- input只能输入数字,格式化数值的显示
- 针对Cocos creator 构建面板,只显示图标,不能放大的问题
- double类型的数值在EditText中显示?
- EAS序时簿界面显示,不再忽略数值零
- 一个管理者的最大成就是:构建并统帅一支具有强大战斗力
- iOS 上传APP真机测试,上传到iTunes Connect显示成功后,但是无法在帐号中iTunes Connect构建版本中发现
- 关于owc图表柱,线上显示数值!!!
- DataTable转Excel并对0开头的数值保留0显示
- 170417 汇编-除法防溢出和数值显示的子程序实操
- 汇编语言数值显示 的子程序dtoc.asm
- LabVIEW中查询数据库的数值,或读取excel表格中的数值时,不显示小数点前面0的解决办法
- [Unity3D]Unity3D游戏开发之伤害数值显示
- iTunes里不显示构建版本
- Flex 中给LineChart的节点上显示数值
- MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)