调试

在编程游戏时,无论使用GML Code还是GML Visual,都很容易犯错误——使用错误的变量、传递错误的参数或使用错误的函数只是我们所有人犯的一些最常见的错误——而且脚本/动作编辑器附带的语法检查器并不总是能检测到这些错误。这意味着只有当你实际运行或编译游戏时,这些错误才会变得明显,即便如此,有时也很难确切知道出了什么问题。因此,了解游戏在所选设备上的表现以及查看房间里有哪些实例、创建了哪些全局变量以及大量其他细节可能至关重要。检查这些内容称为 "调试你的代码",你可能发现的任何错误或问题都被称为 "bugs"。

现在,你可以通过在游戏中添加所谓的 "调试代码" 来在屏幕上显示你需要的信息,或者你可以让它在出现错误时显示消息,但这通常需要大量的工作,如果你一开始不确定问题出在哪里,那么追踪错误可能是一个耗时的反复试验。为此,GameMaker有一个名为调试模式的特殊测试模式,它将启动调试模块,还有一个全面的错误报告系统它在Comilil上显示消息,以帮助您追踪游戏中的任何问题。

以下部分介绍了调试游戏的不同方式:

错误报告错误报告

如果在编译和执行项目期间发生错误,则会在编译错误输出窗口中报告此错误并显示一条消息,如下所示:

Compile Errors大多数编译器错误消息遵循相同的大纲,一条消息说明错误发生在哪个对象,然后是事件和行号,最后是错误本身的简短描述。错误报告提供的此类信息非常重要,因为它可以检测并报告语法和语言相关的错误,这些错误会导致你完成的游戏崩溃,但它不会报告更细微的错误,也不会提供性能反馈。对于这些类型的东西,你应该使用调试模式(如下所述)。

除了这些编译错误,你还可能遇到语法错误。这些将在您添加 GML 可视化操作或代码时被检测到,并显示在语法错误输出窗口中,如下图所示:

Syntax Errors与编译器错误一样,语法错误窗口将引导您找到对象、事件和出现问题的特定行,并且通常会显示错误的简要说明。

 

调试模式调试模式

如果你需要更仔细地检查一下,你可以点击调试运行按钮调试模式Debug Icon下运行游戏。完成后,调试模块将与您的游戏一起打开。这个模块允许你监控游戏中所有事物的运行情况,从全局性能到单个实例中单个变量的值。您可以从以下页面了解有关调试模块及其可能性以及如何使用它的更多信息:

请注意,在使用调试模块时,还可以在代码或 GML Visual 中添加Breakpoints。断点是游戏循环中的一个点,你希望调试模块暂停并让你逐行浏览实际的游戏代码。您可以使用密钥 "F9" 添加断点,它们将显示在输出窗口中,您可以根据需要启用/禁用断点。

 

其他工具其他工具

作为调试已编译游戏的额外工具,当您在 Windows 上运行最终游戏包时,可以使用某些命令行参数。有关其工作原理的信息,请在此处查看

您还可以在测试运行游戏时生成调试叠加层,该叠加层将在游戏运行时显示有关游戏性能的更多调试信息,还可以将调试消息输出到编译控制台,您可以在其中提供自己的文本来帮助调试游戏的行为。有关更多信息,请参阅以下页面:

 

 

还有一组与调试和使用调试工具相关的首选项。您可以从以下页面找到更多信息: