列表是以某种顺序添加并存储信息的一种数据结构(类似一元数组)。这是一种十分灵活的数据结构,允许你在尾部或列表中间指定插入一个值,而且你还可以对列表内的值随机、升序或降序等多种方式进行排序。
当访问一个列表数据结构时,你应该使用 整数值 的索引值来获取其中的值,如果你提供的不是整数索引,则GameMaker Studio 2会自动向下取整(译者注:如10.5会变成10)。如果这种自动取整不是你想要的效果,请务必检查你传递的索引参数以避免这种情况发生。
注意: 跟所有动态资源相同,数据结构会占用设备内存,因此在不再使用时应当将其销毁以释放内存,否则可能会造成内存泄漏,从而影响游戏运行速度和效率,最后导致游戏报错崩溃。
在使用列表时有以下一些方法可以使用:
列表也能用于存储其它列表或映射表,但只能与 json_encode 方法联合使用。这需要你首先“标记(flag/mark)”出列表中的条目,以便与确保可以进行正确的编码来使用以下方法:
除了这些特定功能以外,你还可以使用通配符(或叫访问器)来添加或修改列表中的内容,通配符语法类似一元数组中的方法:. 访问器看起来就像一维数组,语法如下
list_index[| index]
你还可以找到更多相关内容,比如你可以在GML总览页查看更多关于 Accessors的介绍.
注意:如果你需要检查数据结构是否存在,你可以使用ds_exists()函数。