• 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;
                }
            }
        
    }
  • 相关阅读:
    Delphi 调用DLL TStream作为参数
    Delphi 退出时注销子窗口应注意的问题
    Excel文件转换成用友实施工具Excel格式
    Delphi Function 返回值忘记默认赋值的一些问题
    vscode 安装golang插件方法
    git merge
    vant ui 双向输入框禁止手机键盘弹出
    回调地狱
    vue 数组对象循环添加一个属性 在页面上动态渲染时更改属性值
    Windows下安装Redis,并设置开机自动启动
  • 原文地址:https://www.cnblogs.com/suxsho/p/4450700.html
Copyright © 2020-2023  润新知