使用此函数,您可以检索DS映射为映射中的每个关键字包含的所有值。您提供DS映射Id以从中获取密钥(由ds_map_create()返回),函数将返回一个数组,其中数组中的每个条目都是DS映射的值(例如,如果映射有10个密钥,则将返回一个由10个条目组成的数组,每个条目对应一个密钥的值)。该函数具有可选的第二个参数,您可以在其中提供已创建的数组,在这种情况下,映射键值数据将附加到数组中的任何现有数据上。请注意,该函数将修改直接提供的数组,但也将返回对它的引用(如果未提供任何引用,则返回对新数组的引用)。
ds_map_values_to_array(id, [array])
参数 | 类型 | 描述 |
---|---|---|
id | DS Map | 要使用的映射的ID。 |
[array] | Array | 可选要将DS映射值附加到的数组。 |
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映射的所有值,并将它们作为数组存储在局部变量中。然后在数组中循环,并将每个值添加到局部变量中,然后使用该局部变量显示所有值的总和。