分享一個用OnGUI在手機上打印調試信息的工具類

遊戲發佈到手機上調試的時候有時候會需要在屏幕上打印一些信息,我寫了一個小工具類,分享出來,用的是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什麼的可能更好用,有興趣您可以試試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章