查看: 2876|回复: 3
打印 上一主题 下一主题

[其他] GUI闪烁效果[C#]

[复制链接]

1557

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
454
精华
31

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2013-10-15 16:01:56 |只看该作者 |倒序浏览
重点是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();
        }
}

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

3

听众

2200

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2013-10-16 22:20:20 |只看该作者
谢谢楼主,学习了
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2013-10-20 12:54:56 |只看该作者
谢谢楼主,学习了
回复

使用道具 举报

74

主题

2

听众

3549

积分

中级设计师

Rank: 5Rank: 5

纳金币
-100
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2013-11-23 16:42:42 |只看该作者
相当有用的代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 17:20 , Processed in 0.116833 second(s), 30 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部