温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

分享一个用OnGUI在手机上打印调试信息的工具类

发布时间:2020-07-23 15:10:03 来源:网络 阅读:544 作者:chenshulove 栏目:开发技术

游戏发布到手机上调试的时候有时候会需要在屏幕上打印一些信息,我写了一个小工具类,分享出来,用的是OnGUI,很简单,直接上代码了


using UnityEngine;

using System.Collections;

using System.Collections.Generic;


public class OnGUIDebug : MonoBehaviour {


    public static OnGUIDebug Instance;


    public int FontSize = 40;

    public int LabelHeight = 40;

    int labelPos_Y = 0;

    //消息list

    static List<string> msgList = new List<string>();

    

    GUIStyle style = null;


void Awake () {

        style = new GUIStyle();

        style.fontSize = FontSize;

        style.normal.textColor = Color.red;


        Instance = this;

        DontDestroyOnLoad(gameObject);

}


    public static void AddMsg(string msg)

    {

        if (!msgList.Contains(msg))

            msgList.Add(msg);

    }


    void OnGUI()

    {

        labelPos_Y = 10;

        for (int i = 0; i < msgList.Count; i++)

        {

            GUI.Label(new Rect(10, labelPos_Y, 1080, LabelHeight), msgList[i], style);

            labelPos_Y += LabelHeight;

        }

        

        if(labelPos_Y >= Screen.height)

        {

            if(msgList.Count > 0)

                msgList.RemoveAt(0);

        }

    }


   void Start()

    {

        //InvokeRepeating("testMsg", 1, 1);

    }


    int counter = 0;

    void testMsg()

    {

        msgList.Add("test" + (++counter).ToString());

    }


}


其实,如果用一个带滚动条的文本域或者scroll view什么的可能更好用,有兴趣您可以试试。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI