ds_map_values_to_array

使用此函数,您可以检索DS映射为映射中的每个关键字包含的所有值。您提供DS映射Id以从中获取密钥(由ds_map_create()返回),函数将返回一个数组,其中数组中的每个条目都是DS映射的值(例如,如果映射有10个密钥,则将返回一个由10个条目组成的数组,每个条目对应一个密钥的值)。该函数具有可选的第二个参数,您可以在其中提供已创建的数组,在这种情况下,映射键值数据将附加到数组中的任何现有数据上。请注意,该函数将修改直接提供的数组,但也将返回对它的引用(如果未提供任何引用,则返回对新数组的引用)。

 

语法:

ds_map_values_to_array(id, [array])

参数类型描述
idDS Map要使用的映射的ID。
[array]Array可选要将DS映射值附加到的数组。

 

返回:

Array

 

例子:

var _values = ds_map_values_to_array(lvl_score);
var _total = 0;
var _length = array_length(_values);

for (var i = 0; i < _length; i ++)
{
    _total += _values[i];
}

draw_text(32, 32, "Total score for all levels: " + string(_total));

上面检索映射中每个关键字的DS映射的所有值,并将它们作为数组存储在局部变量中。然后在数组中循环,并将每个值添加到局部变量中,然后使用该局部变量显示所有值的总和。