zoukankan      html  css  js  c++  java
  • GUI闪烁效果[C#]

    重点是yield和StartCoroutine的使用

    using UnityEngine;
    using System.Collections;
    
    public class MainBoardTop : MonoBehaviour
    {
            public Texture2D Logo;
            public Texture2D SysInfo;
            public Texture2D FriInfo;
            public Texture2D IcoHelp;
            public GUIStyle style;
            public GUIStyle pathStyle;
            private bool displaySysLabel = false;
            private bool displayFriLabel = false;
            IEnumerator Start()
            {
                    yield return StartCoroutine(flashSysLabel());
                    yield return StartCoroutine(flashFriLabel());
            }
            IEnumerator flashSysLabel()
            {
                    while(true)
                    {
                            displaySysLabel = true;
                            yield return new WaitForSeconds(0.5f);
                            displaySysLabel = false;
                            yield return new WaitForSeconds(0.5f);
                    }
            }
            IEnumerator flashFriLabel()
            {
                    while(true)
                    {
                            displayFriLabel = true;
                            yield return new WaitForSeconds(0.5f);
                            displayFriLabel = false;
                            yield return new WaitForSeconds(0.5f);
                    }
            }
            void OnGUI()
            {
                    GUI.BeginGroup(new Rect(0, 0, 300, 100));
                    GUI.Button(new Rect(3,5,37,37),Logo,style);
                    GUI.Button(new Rect(45,8,150,15),"test",pathStyle);
                    if(displaySysLabel == true)
                    {
                            GUI.Label(new Rect(45,25,16,16),SysInfo,style);
                    }
                    GUI.Label(new Rect(61,25,16,16),"0",style);
                    if(displayFriLabel == true)
                    {
                            GUI.Label(new Rect(77,25,16,16),FriInfo,style);
                    }
                    GUI.Label(new Rect(93,25,16,16),"0",style);
                    GUI.Label(new Rect(108,25,16,16),IcoHelp,style);
                    GUI.EndGroup();
            }
    }
    
  • 相关阅读:
    ThreadLocal总结
    zookeeper学习笔记
    安装solr
    VirtualBox安装Centos7
    Solr学习
    Redis缓存会出现的问题?
    面试题目总结
    mysql分库分表
    Java内存模型
    HashMap在多线程中循环链表问题(jdk1.7)
  • 原文地址:https://www.cnblogs.com/lm3515/p/1805324.html
Copyright © 2011-2022 走看看