unity控制台上的信息打印到屏幕上

本文介绍如何将Unity中的控制台日志显示在GUI窗口中,并通过协程实现类似控制台的实时刷新效果。作者修改了一个外国开发者的设计,通过每0.1秒清空并更新日志,模拟实时刷新,避免手动滚动。建议在OnGUI函数中直接调用来显示变量,以实现更简洁的实时刷新。
摘要由CSDN通过智能技术生成

      接上一个汽车控制,现在我需要实现的是在汽车跑的时候实时打印它的速度在屏幕上,我们都知道如果直接Debug.Log()的话,它打印在控制台上,我们只需要制作一个GUI窗口,打印log就可以了,这个功能是一个外国蜀黍的,我拿来改了一下,灰常对不起,我找了半天找不到原博地址了,我说一下修改的内容吧,由于原程序虽然可以打印log,但是不能和控制台一样往下实时刷新,它的滚动条不能自己往下刷新,你要看还要用鼠标往下拉,这样很不方便。

  我怎么做的呢,其实很简单,加一个协程(start和clearlog函数)就好了,我定了每0.1s定时清空一次log,看上去和实时刷新差不多,效果图,为什么不能每帧刷新呢?因为FixedUpdate的每一帧和Update的帧的长度不一样,神奇~


我这个人美感不行,你可以自己调调位置界面颜色之类的。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace Consolation
{
    /// <summary>  
    /// A console to display Unity's debug logs in-game.  
    /// </summary>  
    class TestConsole : MonoBehaviour
    {
//#if USE_TESTCONSOLE
        struct Log  
        {  
            public string message;  
            public string stackTrace;  
            public LogType type;  
        }  
 
        #region Inspector Settings  
  
        /// <summary>  
        /// The hotkey to show and hide the console window.  
        /// </summary>  
        public KeyCode toggleKey = KeyCode.BackQuote;  
  
        /// <summary>  
        /// Whether to open the window by shaking the device (mobile-only).  
        /// </summary>  
        public bool shakeToOpen = true;  
  
        /// <summary>  
        /// The (squared) acceleration above which the window should open.  
        /// </summary>  
        public float shakeAcceleration = 3f;  
  
        /// <s
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值