版本: Unity 6 (6000.0)
语言英语
  • C#

Debug.Log

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每一个修改建议,并在必要时进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static void Log(object message);

声明

public static void Log(object message, Object context);

参数

message 要转换为字符串表示形式以供显示的字符串或对象。
context 消息适用的对象。

描述

将消息记录到 Unity 控制台。

使用 Debug.Log 打印帮助您调试应用程序的信息消息。例如,您可以打印包含 GameObject.name 和有关对象当前状态信息的消息。

您可以使用字符串连接来格式化消息
Debug.Log("Text: " + myText.text);

您也可以使用 富文本 标记。

如果您将 GameObjectComponent 作为可选的 context 参数传递,当您在 Console 中单击日志消息时,Unity 会在 Hierarchy 窗口中短暂地突出显示该对象。当场景中存在许多对象实例时,请使用 context 对象,以便您能够识别产生该消息的对象。下面的 示例 2 说明了此功能的工作方式。运行此示例时,首先单击它在场景中创建的其中一个立方体。该示例将一条日志消息打印到 Console 中。当您单击该消息时,Unity 会在 Hierarchy 窗口中突出显示 context 对象——在本例中,是您在场景中单击的立方体。

示例 1:显示 Debug.Log 的一些用法

using UnityEngine;
using System.Collections;

public class MyGameClass : MonoBehaviour { // A Light used in the Scene and needed by MyGameMethod(). public Light light;

void MyGameMethod() { // Message with a GameObject name. Debug.Log("Hello: " + gameObject.name);

// Message with light type. This is an Object example. Debug.Log(light.type);

// Message using rich text. Debug.Log("<color=red>Error: </color>AssetBundle not found"); } }

示例 2:显示单击的 GameObject 的选择

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

// Debug.Log example // // Create three cubes. Place them around the world origin. // If a cube is clicked use Debug.Log to announce it. Use // Debug.Log with two arguments. Argument two allows the // cube to be automatically selected in the hierarchy when // the console message is clicked. // // Add this script to an empty GameObject.

public class Example : MonoBehaviour { private GameObject[] cubes;

void Awake() { // Create three cubes and place them close to the world space center. cubes = new GameObject[3]; float f = 25.0f; float p = -2.0f; float[] z = new float[] {0.5f, 0.0f, 0.5f};

for (int i = 0; i < 3; i++) { // Position and rotate each cube. cubes[i] = GameObject.CreatePrimitive(PrimitiveType.Cube); cubes[i].name = "Cube" + (i + 1).ToString(); cubes[i].transform.Rotate(0.0f, f, 0.0f); cubes[i].transform.position = new Vector3(p, 0.0f, z[i]); f -= 25.0f; p = p + 2.0f; }

// Position and rotate the camera to view all three cubes. Camera.main.transform.position = new Vector3(3.0f, 1.5f, 3.0f); Camera.main.transform.localEulerAngles = new Vector3(25.0f, -140.0f, 0.0f); }

void Update() { // Process a mouse button click. if (Input.GetMouseButtonDown(0)) { var ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit;

if (Physics.Raycast(ray, out hit)) { // Visit each cube and determine if it has been clicked. for (int i = 0; i < 3; i++) { if (hit.collider.gameObject == cubes[i]) { // This cube was clicked. Debug.Log("Hit " + cubes[i].name, cubes[i]); } } } } } }

注意:Unity 还将 Debug.Log 消息添加到编辑器和播放器日志文件。有关在不同平台上访问这些文件的更多信息,请参阅 日志文件

其他资源:MonoBehaviour.print