专栏首页韩东吉的Unity杂货铺零基础入门 33:快捷键清除日志

零基础入门 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),作者:Jimin

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门 37:加强版日志窗口

    又是俩星期不见,大家好,刚刚忙完,所以现在深夜更新,今天的主题描述我用语音和大家来介绍。

    韩东吉
  • 零基础入门 43:InputField虚拟键盘激活状态如何检查?

    Hello,大家好,我是Jimin 韩东吉,因为公司的项目在前一段时间处于紧急开发阶段和紧接着的一测二测,导致又是时隔很久不更,现在节奏稍微慢了下来,还是抽空回...

    韩东吉
  • Unity杂货铺 1 《一键禁用Component Raycast》

    今天要分享的主题是在项目优化阶段经常会使用到的一个功能,在UGUI的对象组件中,有一些类似于Image Text等组件,上面自带了一个属性,名为 Raycast...

    韩东吉
  • Markdown基础语法

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。如果你作为一名博客站长,那么它可是你必不可少...

    ZEHAN
  • 虚拟机的三种网络连接方式

    正文 VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理...

    lwen
  • VMware网络设置的三种方式

      在某些特殊的网络调试环境中,如何要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通...

    孙晨c
  • 选择| 条码 VS RFID(自动仓储物流)

    当前不论在人工操作的仓库里还是全自动的仓储系统里,对物料的信息管理都是必须的,最常见的方式就是采用条码或者RFID来跟踪物料单元。

    老King
  • SAP Hybris使用recipe进行安装时,是如何执行ant命令的?

    打开Hybris安装文件夹下的recipes,随便打开一个recipe的build.gradle文件,发现使用了installer-platform-plugi...

    Jerry Wang
  • 微信个人公众号开发--(2)启用开发者模式接收并响应用户消息

    微信的 URL 要求必须是: http:// 80端口,且必须是能够在公网访问的,本地的不行。所以这里用到一个映射工具叫做 ngrok 。下载之后使用,需要切换...

    浩Coding
  • soap-ws 获取wsdl中所有方法 (二)

    获取portType节点的operation比较麻烦,soap-ws没有提供直接可以使用的接口。 不过可以参考soap-ws的源码写一个方法。 soap...

    用户2146693

扫码关注云+社区

领取腾讯云代金券