单游戏调试

问题描述 投票:0回答:5

如何在 Monogame 中打印或输出文本?

我用谷歌搜索了如何在单一游戏中显示文本,结果是: 调试.WriteLine

其中表示:“默认情况下,输出会写入 DefaultTraceListener 的实例。”(该页面让我更加困惑)。

因此,如果有人可以指导我显示 DefaultTraceListener 的方法,或者在单游戏中输出文本的另一种方法,我将不胜感激。

c# debugging printf monogame
5个回答
12
投票

我找到了!

使用 Debug.WriteLine 写入调试器,该调试器位于 Visual Studio 的输出窗口中(默认位于底部)。在 OpenGL 项目中默认关闭程序(按 F5 启动,Esc 关闭)时会出现。


9
投票

如果您愿意,可以像在普通 C# 控制台应用程序中一样使用

Console.WriteLine
(假设您正在开发桌面应用程序)。有几个步骤。

  1. 打开 MonoGame 项目的属性
  2. 选择应用程序选项卡
  3. 将输出类型更改为控制台应用程序。

您的应用程序应该正常运行,启动游戏时只应该出现一个控制台窗口。

或者,您可以使用

Debug.WriteLine
,它将写入 Visual Studio 中的输出窗口(当您开始调试游戏时它应该出现)。


2
投票

如果您使用标准

Debug.WriteLine
Trace.WriteLine
,则输出将转到默认跟踪侦听器,可以在 Visual Studio 输出窗口中查看该侦听器。在 Visual Studio 之外,您可以使用 DebugView (SysInternals) 或 LogFusion (Binary Fortress) 等程序来显示输出。 DebugView 甚至具有查看远程计算机调试输出的功能。

还有其他跟踪侦听器可以将输出发送到文件或 Windows 事件日志,或者您可以相当轻松地编写自己的跟踪侦听器。

您还可以考虑使用现成的日志框架,例如 NLog,这将为您提供很大的灵活性。我在实践中发现,使用 NLog 比 .NET 中的内置内容要容易得多,因为它可以让您轻松地重新配置事物并以更灵活的方式控制/过滤输出。


0
投票

我知道这个问题已经得到解答,但如果其他人偶然发现了这个问题,您也可以使用

Console.Write(thing in here);
Console.WriteLine(thing in here);
写入控制台窗口。 WriteLine 添加行结尾,而 Write 则没有。


0
投票

System.Console.WriteLine
即使不使用调试器也可以开箱即用。

© www.soinside.com 2019 - 2024. All rights reserved.