此函数将清除(以前创建的)所有键/值对的DS映射,但不会从内存中删除DS映射本身。为此,您应该使用函数ds_map_destroy()。请注意,清除映射将取消引用映射中存储的任何数据结构,从而导致内存泄漏,因此您需要在清除映射之前通过该函数并手动销毁所有数据结构项,以防止出现这种情况。唯一不需要这样做的情况是,当您将映射中的任何项目标记为DS列表或另一个DS映射时,在这种情况下,这些项目将被销毁(未清除!),并在清除父映射时自动清除其内存。
ds_map_clear(id);
参数 | 类型 | 描述 |
---|---|---|
id | DS Map | 要清除的数据结构的ID。 |
N/A
if (global.new_game)
{
ds_map_clear(inventory);
}
上述函数将检查全局变量以查看其是否为真,如果为真,则实例变量"inventory"中索引的DS映射将清除所有密钥/值对(但它未销毁)。