整个监视器的理念是允许您"监视"游戏的每个细节。这是通过"监视窗口"来完成的,默认情况下,监视窗口在IDE底部的输出窗口中打开。您可以单击每个不同的选项卡以查看它们包含的监视,其中的一些可以进行真实的时间更新(当从调试器工具栏启用真实的时间调试时),而另一些将要求调试器暂停游戏。
当您在任何窗口中查看 变量 时,它们可以是多种 数据类型 中的一种。对于其中的几种,GameMaker 能够提供有关变量内容的更多信息 (其成员或条目):实例,结构,数组和 数据结构 。在这种情况下,调试器会在变量名旁边显示一个小的 图标。单击它将展开结构的内容,你也可以通过简单的双击
并给它一个新的值来改变显示的变量的一些值。
注意 您不能以这种方式重新分配数组或数据结构,但您可以更改它们的某些内容(您不能更改映射中的"键"值,也不能更改优先级队列的优先级值)。
下面您可以找到每个不同监视窗口的列表,以及它们的用途和使用方法的说明:
局部变量 窗口显示当前步骤的属性,包括正在运行的当前事件 (或脚本) 的名称、当前脚本的 虚拟机 (VM) 代码中的偏移量 (首字母缩写 "PC" 代表 " 程序计数器 ")、运行代码块的 "self" 实例以及事件中的 " 其他 " 实例。仅当事件为 冲突 事件或代码中使用了 "with" 时,最后这部分才有效。如果实例处于冲突中,"other" 将显示冲突中的另一个实例 (及其变量),但如果它是带有 的 ,则 "self" 实例将成为运行代码的实例,而 "other" 则是实际包含带有 的 的实例。在所有其他时间,"other" 将简单地显示与 " 自我 " 相同的数据。
注意 单击 可以展开 "Self" 和 "Other" 实例,以查看当前为单步执行的代码块声明的所有局部变量和实例变量的列表。
全局 窗口将显示当前声明的所有 全局 变量及其值的列表。
此窗口用于添加要跟踪的特定变量。这可以是 全局 或 实例 作用域变量、 内置 变量,甚至是 数组 或 数据结构 。如果正在单步执行的实例代码具有监视变量,则会在此处显示,这意味着你可以轻松地跟踪一个值,而不必在 局部 变量或 全局 变量窗口中搜索它。如果你右键单击
一个值,你可以 删除监视 或 全部清除 。
顾名思义,此窗口将显示所有实例变量、实例事件的局部变量、内置变量以及与"源"窗口中当前正在单步执行的实例关联的结构(如果使用关键字 "other" 或 with 语句引用实例,如果你右键单击
一个值,你可以使用"添加监视"将该变量添加到"监视"窗口中。
如果您需要查看当前在房间中的所有实例,您可以选择此窗口,它们将被列出。您还可以查看它们拥有的任何内置变量、实例变量或结构的状态,并且您可以右键单击
某个值以使用"添加监视"将其添加到"监视"窗口。
此窗口用于您从游戏中选择实例时。这只需暂停游戏,然后单击游戏窗口中的任何可见实例即可完成。鼠标光标下找到的实例将在选定实例窗口中显示其信息,在此窗口中您可以看到其内置变量,实例变量和结构体,与在Windows窗口中相同。
这个视图显示了当前帧状态的所有可用信息,如绘制Alpha或填充颜色。这不能实时更新,因此您需要暂停游戏以更新并获取帧详细信息。
这个视图可以让你准确地看到游戏中的任何表面(包括应用程序表面)上绘制了什么,以及内存中的纹理页面。您可以从手表底部的菜单中选择纹理或表面 ,然后将鼠标悬停在纹理或表面 ID上以将其显示在弹出窗口中:
注意 在这些更新之前,必须 暂停 调试器。
在这个窗口中,您可以看到正在测试的游戏的当前系统分析,您可以在其中检查游戏中的所有内容,从整个事件到单个函数调用,以查看它们的执行情况,并发现任何故障区域或瓶颈。有关评测的详细信息,请参阅下一页:
如果您已经初始化了游戏中的任何缓冲区,则此窗口将显示 缓冲区数据 。您可以通过设置 缓冲区 ID 值来选择任何创建的缓冲区,该值将从游戏中创建的第一个缓冲区的 0 开始,并为每个连续的缓冲区递增 1:
右键单击
数据窗口上的 或单击 数据显示 按钮,可以选择数据的显示方式,设置 对齐方式 和 类型 ,还可以从 列选择 框中设置数据的布局方式。此处有一个下拉窗口,您可以从默认布局列表中进行选择。