Unity3d 实用篇(二) 手机调试小工具,可在屏幕上方显示debug信息
来源:互联网 发布:数据分析职称 编辑:程序博客网 时间:2024/05/21 10:49
手机调试小工具,可在屏幕上方显示debug信息,将代码挂在一个任何物体上即可
using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;using System.Text;public class Logger : MonoBehaviour{ static List<string> mLines = new List<string>(); static List<string> mWriteTxt = new List<string>(); private string outpath; void Awake() { DontDestroyOnLoad(this); //Application.persistentDataPath Unity中只有这个路径是既可以读也可以写的。 var filename = System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt"; //var filename = "log.txt"; outpath = Path.Combine(Application.persistentDataPath, filename); //每次启动客户端删除之前保存的Log if (File.Exists(outpath)) { File.Delete(outpath); } File.Create(outpath); //在这里做一个Log的监听 //Application.RegisterLogCallback(HandleLog); Application.logMessageReceived += HandleLog; }void Start(){Debug.Log(outpath);} void OnApplicationQuit() { Debug.Log("Quit"); } void Update() { //因为写入文件的操作必须在主线程中完成,所以在Update中给你写入文件。 if (mWriteTxt.Count > 0) { string[] temp = mWriteTxt.ToArray(); using (StreamWriter writer = new StreamWriter(outpath, true, Encoding.UTF8)) { foreach (string t in temp) { writer.WriteLine(t); } mWriteTxt.Clear(); writer.Close(); } } } void HandleLog(string logString, string stackTrace, LogType type) { mWriteTxt.Add(logString); mWriteTxt.Add(stackTrace); if (type == LogType.Log) { Log(logString); //Log(stackTrace); } } //这里我把错误的信息保存起来,用来输出在手机屏幕上 static public void Log(params object[] objs) { string text = ""; for (int i = 0; i < objs.Length; ++i) { if (i == 0) { text += objs[i].ToString(); } else { text += ", " + objs[i].ToString(); } } if (Application.isPlaying) { if (mLines.Count > 20) { mLines.RemoveAt(0); } mLines.Add(text); } } void OnGUI() { GUI.color = Color.red; GUIStyle bb = new GUIStyle(); bb.normal.background = null; //这是设置背景填充的 bb.normal.textColor = new Color(1, 0, 0); //设置字体颜色的 bb.fontSize = 26; //当然,这是字体颜色 for (int i = 0, imax = mLines.Count; i < imax; ++i) { GUILayout.Label(mLines[i],bb); } } void OnDestory() { Application.logMessageReceived -= HandleLog; }}
阅读全文
0 0
- Unity3d 实用篇(二) 手机调试小工具,可在屏幕上方显示debug信息
- Unity3D-在移动端显示Debug信息
- 调试信息清除小工具的编写
- Unity3d 安卓调试 手机屏幕显示Debug信息
- 【Unity3d】介绍两个实用的UI按钮小工具
- 手机改成debug模式小工具及adb脚本问题
- 实用小工具
- 实用小工具集合
- 实用小工具集
- linux 实用小工具
- 实用小工具script
- 实用小工具分享
- 实用的小工具
- 实用小工具整理
- Linux实用小工具
- 实用小工具推荐
- Windows实用小工具
- WCF_实用小工具
- JAVA实现卷帘式菜单
- excel 文件导入plsql时遇到anydac 未发现数据源名称如何处理
- 计算器删除动画分享
- Java多线程理解:线程安全的集合对象
- Android 生命周期
- Unity3d 实用篇(二) 手机调试小工具,可在屏幕上方显示debug信息
- 找出数组中2个只出现1次的数,其他数都出现2次
- 有关cin和cout
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'executable'.
- SpringMVC+MyBatis+JMS+JTA(分布式事务)
- Android进程保活
- Android NumberPicker滚动字符串
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- Logstash的性能测试 二