在Monogame中进行调试

9
你如何在Monogame中打印或输出文本?
我搜索了如何在Monogame中显示文本,并被引导到了这个链接: Debug.WriteLine 它说:“默认情况下,输出被写入DefaultTraceListener的实例。” (这个页面让我更加困惑了。)
因此,如果有人能指导我显示DefaultTraceListener的方法,或者其他在Monogame中输出文本的方法,我将不胜感激。
4个回答

12

我找到了它!

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


9

如果你喜欢的话,你可以像在普通的C#控制台应用程序中一样使用Console.WriteLine,假设你正在开发桌面应用程序。以下是一些步骤:

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

你的应用程序应该和平常一样运行,只不过在启动游戏时会出现一个控制台窗口。

或者,您也可以使用Debug.WriteLine,它将写入到Visual Studio的输出窗口(在开始调试游戏时应该会出现)。


2
如果您使用标准的Debug.WriteLineTrace.WriteLine函数,则输出结果将会被记录在默认的跟踪监听器中,并可以在Visual Studio输出窗口中查看。在Visual Studio之外,您可以使用DebugView (SysInternals)或LogFusion (Binary Fortress)等程序来显示输出结果。DebugView甚至拥有一个从远程机器查看调试输出的功能。
除了默认的跟踪监听器,还有其他跟踪监听器可以将输出发送到文件或Windows事件日志,或者您可以相对轻松地编写自己的跟踪监听器。
您也可以考虑使用现成的日志框架,如NLog,这将为您提供很大的灵活性。实际上,我发现使用NLog比.NET内置的机制要容易得多,因为它可以让您更轻松地重新配置和控制/过滤输出。

0

我知道这个问题已经有答案了,但如果其他人也遇到了这个问题,你也可以使用 Console.Write(这里放东西); 或者 Console.WriteLine(这里放东西); 来向控制台窗口输出内容。WriteLine 会添加一个换行符,而 Write 则不会。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接