zoukankan      html  css  js  c++  java
  • UNITY5以后怎么改GUI文字

    提要:以前是UNITY4,后来用了新的UI,于是GUIText这种东西就没有了,研究了很久。。。。

    ----------------------------

    这里我想拖个GUI文字框显示FPS,于是代码是这样,这段代码是我在UNITY官方BBS找到并修改的,感谢原作者分享

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;           //引用里加入这个
    
    public class getFPS : MonoBehaviour {
        // Use this for initialization
    
    
            // Attach this to a GUIText to make a frames/second indicator.
            //
            // It calculates frames/second over each updateInterval,
            // so the display does not keep changing wildly.
            //
            // It is also fairly accurate at very low FPS counts (<10).
            // We do this not by simply counting frames per interval, but
            // by accumulating FPS for each frame. This way we end up with
            // correct overall FPS even if the interval renders something like
            // 5.5 frames.
    
            public float updateInterval = 0.5F;
    
            private float accum = 0; // FPS accumulated over the interval
            private int frames = 0; // Frames drawn over the interval
            private float timeleft; // Left time for current interval
    
            void Start()
            {
    
    
                if (!GetComponent<Text>())
                {
                    Debug.Log("这个组建需要加载在新UI的Text上");
                    enabled = false;
                    return;
                }
                timeleft = updateInterval;
            }
    
            void Update()
            {
                timeleft -= Time.deltaTime;
                accum += Time.timeScale / Time.deltaTime;
                ++frames;
    
                // Interval ended - update GUI text and start new interval
                if (timeleft <= 0.0)
                {
                    // display two fractional digits (f2 format)
                    float fps = accum / frames;
                    string format = System.String.Format("{0:F2} FPS", fps);
                    GetComponent<Text>().text = format;
    
                    if (fps < 30)
                        GetComponent<Text>().material.color = Color.yellow;
                    else
                        if (fps < 10)
                            GetComponent<Text>().material.color = Color.red;
                        else
                            GetComponent<Text>().material.color = Color.green;
                    //    DebugConsole.Log(format,level);
                    timeleft = updateInterval;
                    accum = 0.0F;
                    frames = 0;
                }
            }
        
    }
  • 相关阅读:
    python中的__init__方法
    hosts文件是做什么的
    自动化测试--环境搭建python+pytest+selenium
    什么是Netty服务器
    Java 基础原理一
    Python MongoDB 基本操作
    Mysql 数据库的查询操作
    Git 笔记二
    Git 使用笔记
    最全正则表达式
  • 原文地址:https://www.cnblogs.com/suxsho/p/4450700.html
Copyright © 2011-2022 走看看