Unity中的Debug类调试使用

转载 2016年04月26日 19:35:20

UnityEngine.Debug:

Class containing methods to ease debugging while developing a game.

该类中包含了一些便于游戏开发时的调试方法。
Class Variables

 isDebugBuild

static var isDebugBuild : boolean

In the Build Settings dialog there is a check box called "Development Build".

在"Build Settings" 对话框中有一个"Development Build"的选项。

If it is checked isDebugBuild will be true. In the editor isDebugBuild always returns true. It is recommended to remove all calls toDebug.Log when deploying a game, this way you can easily deploy beta builds with debug prints and final builds without.  

如果复选框被选择,isDebugBuild则为true。在编辑器中isDebugBuild总是返回true。在游戏发布时,这个命令可以移除所有Debug.Log调用。这样,你就可以轻松地发布带有调试输出的测试版和没有这些调试信息的最终版。

Class Functions

 DrawLine

static function DrawLine (start :Vector3, end :Vector3, color :Color = Color.white, duration : float = 0.0f) : void

Draws a line from the point start to end with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

绘制一条从开始点到结束点的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 DrawRay

static function DrawRay (start :Vector3, dir :Vector3, color :Color = Color.white, duration : float = 0.0f) : void
Draws a line from start to start + dir with color for a duration of time. If duration is 0 then the line is rendered 1 frame.

从开始点绘制一条dir方向和长度的线,需要指定绘线的颜色和持续时间。如果持续时间为0,那么该线只会被渲染1帧。

The line will be drawn in the scene view of the editor. If gizmo drawing is enabled in the game view, the line will also be drawn there.

该线被绘制在编辑器下的Scene窗口中。如果Gimzo绘制方法被开启,那么该线同样会被绘制到Game窗口中。

 Break

static function Break () : void

Pauses the editor.

使编辑器暂停。

This is useful when you want to check certain values on the inspector and you are not able to pause it manually.

当你想在运行到某种情况下游戏自动暂停下来以方便你查看对象属性面板中的值时,这是非常有用的。

 Log

static function Log (message : object) : void

Logs message to the Unity Console.

将日志信息输出到Unity控制台。

static function Log (message : object, context :Object) : void
Logs message to the Unity Console.

将日志信息输出到Unity控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 LogError

static function LogError (message : object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

static function LogError (message : object, context :Object) : void

A variant of Debug.Log that logs an error message to the console.

Debug.Log的一个变种,它将输出一个Erro类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object an error occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。 

 Warning

static function LogWarning (message : object) : void
A variant of
Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

static function LogWarning (message : object, context : Object) : void

A variant of Debug.Log that logs a warning message to the console.

Debug.Log的一个变种,它将输出一个Warning类型的调试信息到控制台。

When you select the message in the console a connection to the context object will be drawn. This is very useful if you want know on which object a warning occurs.

当你在控制台中选中调试信息时,Unity将绘制一个调试信息与触发对象之间的连接。当你想知道在哪个对象上发送错误时,这是非常有用的。

 

Unity调试方法:

1.安装Unity3D安装包内置的MonoDevelop,MonoDevelop官方下载的版本是没有Unity3D 的调试插件的。

2.打开Unity ,选择Edit –> Preference ,设置外部编辑器为MonoDevelop 。

3.运行MonoDevelop(如果MonoDevelop不能运行,则需要安装 .Net 3.5 ),选择菜单(Tools –> Preference) 打开选项设置窗口,在左边的导航窗口的最后一个节点(Unity –> Debugger),在右边设置Editor Location为正确的位置(即Unity.exe执行文件Path),然后勾选Launch Unity Automatically和Build Project in MonoDevelop ,按OK按钮保存。

4.在Unity Editor的Project窗口点击鼠标右键,在弹出菜单中选择Sync MonoDevelop Project(或者选择菜单栏中的Assets -> Sync MonoDevelop Project),将自动运行MonoDevelop并打开对应的项目。

5.在MonoDevelop中编程、为源代码设置断点(F9),关闭Unity Editor,击调试按钮(F5)开始调试,在自动打开的Unity Editor中点击Play按钮,断点就开始起作用了。

6.MonoDevelop的调试需要完成本帧所有调试才能返回给Unity,即调试中途Unity Scene的信息将不会更新。

 

实例演示:

</pre><pre name="code" class="cpp">using UnityEngine;
using System.Collections;

public class GUITest : MonoBehaviour
{
    int i = 0;
    void OnGUI()
    {
        if (GUI.Button(new Rect(0, 0, 100, 50), "Cliclk"))
        {
            i++;
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.up, Color.red, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.right, Color.green, 5);
            Debug.DrawLine(transform.position, transform.position + 5 * Vector3.forward, Color.blue, 5);
            Debug.LogError("Click", this);
        }
    }
}

Game:
Scene:
MonoDevelop:

原文地址:http://wg2009perfect.blog.163.com/blog/static/127997663201111103951886/

相关文章推荐

【unity小技巧之一】使Debug.Log支持颜色等富文本信息

Unity的Debug.Log本身是支持rich text富文本的,像这样 很简单,只需要在输出文本的时候写好富文本样式即可,操作如下: Debug.Log ("微博搜索"+"" +" 我是鱼蛋啊...

Unity应用发布如何在本地查看Debug输出?

为了方便在Android平台上本地查看Debug输出,可以将Debug输出写入到本地文件中。然后在本地硬件中查看Debug输出。...

【Unity】game窗口调试Debug

新建一个 GameObject 把脚本拖上去  using System.Collections; using System.Collections.Generic; using Unity...

MonoDevelop 调试 Unity3D项目 告别Debug.log()

Unity3D 是一个基于 Mono 的跨平台游戏引擎,支持 PC 、MAC 、 Android 、IOS 等多种平台,其 3.0 以后的版本支持用  MonoDevelop 调试,很多人安装了之后发...
  • tammy520
  • tammy520
  • 2012年04月13日 11:27
  • 14673

【Unity基础知识②】创建C#脚本、Debug.log输出语句

【本文为囧希博客个人原创文章,转载请注明出处!http://blog.csdn.net/yunpro】 【Unity新建cs文件】 1、在工程面板新建文件夹——code——Scri...
  • YunPro
  • YunPro
  • 2015年03月05日 13:59
  • 2444

Unity 实现Log实时输出到屏幕或控制台上<一>

一,Unity 打印日志 Unity中,在其编辑器上有个专门的Console,快捷键:shift + Ctrl+ c 。 代码中的Debug.Log("this is a test");就会打印到这里...

UIFramework之UnityEngine.Debug封装

UIFramework之UnityEngine.Debug封装 1、真机输出Log到文件 把Log信息写在手机的客户端里。把脚本挂在任意游戏对象上。 using UnityEngine; using...

Unity 输出调试信息到界面

Unity里自带的Debug输出信息的功能非常好用, 但是在实机上不那么好用了, 不能直观的看见输出的信息. 这时就使用把信息输出到界面上的方法. 特别是给非开发人员看的时候就非常方便了,下面这样: ...
  • abcdtty
  • abcdtty
  • 2014年01月29日 13:52
  • 3361

Unity 打包 Android 后怎么看见脚本中的 Debug?

最近在学习的过程中发现一个小问题,就是当游戏打包到 Android 平台后看不见脚本中写的 Debug。这对于我们的调试来说造成了很大的阻碍。因为平时练习并不会遇到太大的问题,只需要使用 Debug ...

封装 UnityEngine.Debug.Log 为Dll ,游戏发布关闭 Log 减少性能消耗

在游戏发布时,有很多东西需要进行优化 ,消耗性能的东西 能减少就减少。UnityEngine.Debug.Log 是很消耗性能的操作,即使我们选择的是Release 版本发布,这个函数仍然会执行并且输...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity中的Debug类调试使用
举报原因:
原因补充:

(最多只允许输入30个字)