释放数据结构


描述

此动作将从内存中释放数据结构,并且应该在每次不再需要一个数据结构时调用,例如在一个实例的销毁(Destroy)事件中或房间结束事件(Room End)中... 释放数据结构意味着不能再使用其他动作来引用它,因为它将不再存在,尽管如此,你也可以使用如果数据结构存在(If Data Structure Exists)动作来检查是否存在。

请注意,除非数据结构的索引赋值给了一个全局变量,否则它将不会从一个房间跨跃到另一个房间。例如,如果你创建一个玩家实例,并且将列表数据赋值给该实例中的变量,那么如果玩家被销毁则需要释放该列表,或者玩家实例所在的房间变了(除非玩家实例被标记为保持),那么玩家实例的两个事件(译者注:销毁和房间结束事件,或者只在清理事件中写也可以)都需要有释放数据结构的动作。重要的是,所有创建的数据结构不再需要的时候通过这种方式销毁掉,防止可能会导致性能问题或甚至导致游戏崩溃的内存泄漏。


动作语法:

释放数据结构的语法


参数:

参数 描述
类型 正在释放的数据结构类型(列表,映射,网格或堆栈)
变量 保存要释放的数据结构索引的变量


例如:

释放数据结构示例
上面的动作块代码获取全局变量中引用的列表的大小,然后使用重复循环来遍历并销毁存储在列表中ID对应的实例。重复循环完成后,从内存中释放这个列表数据。