DS Lists

DS 列表是一种数据结构,它在添加信息时按顺序存储信息 (很像 数组 )。 DS 列表是非常灵活的数据结构,允许您在末尾添加值或将它们插入到列表中间的某个位置,并且使您能够打乱顺序 (随机化值) 或按升序对它们进行排序或降序排列。

注意 建议使用 数组 而不是 DS 列表,因为它们具有相似的功能、更易于使用并且会自动进行垃圾收集。

访问DS列表数据结构时,您应该始终尝试使用整数值作为列表位置,如果不这样做,所有非整数索引都将被GameMaker打乱。如果这不是您所需要的,那么在传递您希望检查的索引之前,您需要自己进行四舍五入。

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

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

list_index[| index]

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

功能参考

常规

序列化

JSON

DS 列表也可用于保存 DS 映射 和其他 DS 列表,因此我们有一些特殊函数,用于将列表中的位置 " 标记 " 或 " 标记 " 为保存这些数据结构。一般来说,这不是必需的,但它的优点是在销毁父列表时自动垃圾收集 (销毁) 标记的数据结构,并且与 json_encode 函数结合使用时也是必需的以便列表及其数据被正确编码。其功能是: