DS Grids

DS 网格是一种具有 2 维的 数组 。 您可以通过设置网格的整数宽度和高度来定义网格,这设置了网格内 " 单元格 " 的总数 (宽度和高度的乘积)。然后,这些单元格用于保存不同的数据值 (实数或字符串)。

DS Grid Example这种类型的结构允许您通过给出网格中单元格的x和y索引来设置和检索网格中单元格的值(x和y轴从0开始,直到width-1和height-1)。但是,您也可以在特定的栅格区域中设置值,添加单个值,并检索给定区域上的和、最大值、最小值和平均值,从而使此数据结构成为您可用的所有数据结构中函数最丰富的。

访问 DS 网格数据结构时,您应始终尝试对单元格位置使用 整数值 ,否则,所有非整数索引都将被 GameMaker 下限。如果这不是您所需要的,那么您需要在传递您想要检查的索引之前自行进行舍入。

注意 与所有动态资源一样,数据结构也会占用内存,因此在不再需要时应 始终 销毁,以防止内存泄漏,否则会减慢游戏速度并最终崩溃。

注意 如果您需要检查数据结构是否存在,可以使用 ds_exists 函数。

除了下面列出的特定函数外,您还可以使用 表达式 ( 称为 访问器 ) 来添加或修改 DS 网格的内容。此存取器类似于 2D 阵列,具有以下语法:

grid_index[# xpos, ypos]

您可以从有关 访问器 的 GML 概述页面找到更多信息以及示例。

功能参考

基本

序列化

MP网格