在游戏中,你经常需要精确且有序地存储信息。比如,你可能需要保存一个人携带的道具列表或存储一组需要访问的位置。你 可以 使用数组来达成这个目的,但如果你想做一些更复杂的操作, 比如排序或搜索某个特定道具, 你需要写一大堆GML代码,执行效率就会变低, 也更难进行debug,这写起来绝对痛苦!
为了解决这种问题, GameMaker Studio 2 内置了一些更为便利的 数据结构 函数. 目前有六种不同类型的数据结构可用,每一种都有其适用的场景,这取决于你想如何存储和操作你的数据,分别是:堆栈、队列、列表、映射、优先队列、以及栅格
本质上,所有的数据结构都以相同的方式在工作——你创建一个数据结构然后把它的 索引值存储到变量中然后,你可以使用这个索引值在其他函数中进行调用操作。最后,一旦你用完记得要销毁这个数据结构以将其从内存中移除。你可以根据需要同时使用尽可能多的数据结构,并且所有结构都可以存储字符串和实数值。
关于不同数据结构的具体信息可以在以下章节找到:
在你实际使用数据结构之前,你还需要了解一点,在四舍五入的情况下有时候你得到的结果可能会与预期相悖。使用下列函数来修改数据精度可以解决该问题:
以下函数则用于检查某个数据结构是否存在
最后,你同样可以使用 数组来保存数据。你可以在下面这节中查看更多关于数组的内容: