零基础入门 33:快捷键清除日志

最近忙的不行,所以没怎么更新,今天抽空给大家带来一篇短小精悍的内容。

很多时候大家在调试期间会有很多很多的日志输出,每次都需要点击Console窗口上的clear来清除日志信息着实麻烦,而且逼格很低,今天给大家带来一篇通过设定自定义快捷键来快速清除日志的方法。

进入正题


如下图所示,游戏运行或者调试的时候总是有很多的日志,每次都需要点击clear进行清除。

为了能够创建自定义快捷键来清除日志,需要先创建一个脚本,用来编写快捷键的代码来清除日志。

演示的效果图如下

如上图所示,最终效果为菜单窗口会出现自定义菜单,点击屏幕内的Button按钮后,会打出3行Log,我们在不点击Clear的情况下,点击自定义的菜单来清除Log,或者既不点击Clear也不点击菜单,直接通过设定的快捷键,清除日志。上图就是我们今天要分享的小功能的效果演示。

了解了以后,需要准备两个脚本,一个用来打出测试日志,一个用来编写自定义的清除代码。

如上图,创建两个脚本。接下来我直接贴出脚本内容

using UnityEngine;

using System.Collections;

using UnityEngine.UI;

public class LogFile : MonoBehaviour

{

#region Public Attributes

public Button m_btn;

#endregion

#region Unity Messages

void Start()

{

m_btn.onClick.AddListener(() =>

{

Debug.Log("...............");

Debug.LogWarning("666666666666666");

Debug.LogError("Jimin Clear Console Test");

});

}

#endregion

}

上面的脚本内容是我们的LogFile,输出测试日志的脚本内容。

下面的脚本内容是我们编写自定义清除菜单的

using System;

using UnityEngine;

using System.Collections;

using UnityEditor;

using System.IO;

using System.Text;

public class JiminClearConsole : MonoBehaviour

{

#region Public Methods

[MenuItem("Jimin/HotKey/Clear Console &c")]

public static void JiminClearFunc()

{

Type entries = System.Type.GetType("UnityEditorInternal.LogEntries,UnityEditor.dll");

var clearFunc = entries.GetMethod("Clear", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);

if (clearFunc != null)

{

//执行清除

clearFunc.Invoke(null, null);

//收尾处理

GUIUtility.keyboardControl = 0;

}

else

{

Debug.LogWarning("Can't find clearFunc");

}

}

#endregion

}

好了,以上就是两个脚本的全部内容。然后再随便创建一个Button,把我们的LogFile的脚本进行按钮关联就可以了。

接下来就可以运行项目进行测试了。

最终效果如下,分别演示了菜单栏清除,点击clear清除,以及最后的快捷键清除。

好了,今天的分享就到这里结束。

希望对大家有帮助,顺便提升下逼格\(^o^)/

下期分享见

原文发布于微信公众号 - 韩东吉的Unity杂货铺(DeveloperJimin)

原文发表时间:2017-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小詹同学

人脸检测(二 )——MFC实现

一、关于MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class...

5036
来自专栏Golang语言社区

Golang笔记——并发

o语言中的main函数也是运行在一个单独的goroutine中的,一般称为 main goroutine,main函数结束时,会打断其它 goroutine 的...

3565
来自专栏前端下午茶

JS throttle与debounce的区别

一般在项目中我们会对input、scroll、resize等事件进行节流控制,防止事件过多触发,减少资源消耗;在vue的官网的例子中就有关于lodash的deb...

2013
来自专栏黄Java的地盘

提高开发效率之VS Code基础配置篇

VS Code可以通过名为代码片段的功能像编辑器中插入一段指定的文本,具体操作步骤为首选项->用户代码片段->新建全局代码片段。

2782
来自专栏葡萄城控件技术团队

Wijmo 更优美的jQuery UI部件集:C1 Wijmo Grids 更多惊喜

本文中,我将给大家介绍一系列非常棒的 Wijmo Grids功能。我们先以一个新的Wijmo Grids 来开始我们这次的 Wijmo Grids 之旅吧。 ?...

2367
来自专栏葡萄城控件技术团队

在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

背景 在前一篇文章《【初学者指南】在ASP.NET MVC 5中创建GridView》中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类...

2708
来自专栏葡萄城控件技术团队

七天学会ASP.NET MVC (四)——用户授权认证问题

小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,...

2945
来自专栏游戏杂谈

Unity的RuntimeInitializeOnLoadMethod属性初探

Unity 5.0开始增加了RuntimeInitializeOnLoadMethodAttribute,这样就很方便在游戏初始化之前做一些额外的初始化工作,比...

791
来自专栏林德熙的博客

C# 从零开始写 SharpDx 应用 初始化dx修改颜色

本文来告诉大家如何在上一篇博客创建的窗口里面使用 Sharpdx 初始化,然后设置窗口颜色。

2171
来自专栏安恒网络空间安全讲武堂

Jarvis-OJ平台多题WriteUp分享

题目 ## PORT51 ## LOCALHOST ## Login ## 神盾局的秘密 ## IN A Mess ## RE ## flag在管理员手里 ##...

2K10

扫码关注云+社区

领取腾讯云代金券