Ich versuche ein Beleuchtungssystem in Game Maker zu erstellen und das System zu strukturieren, das alle Lichter in einer ds_map enthalten soll. Ich möchte, dass ds_map in einem zweiten ds_map gehalten werden, dass alle Lichter in dem System enthältZerstört eine ds_map Sub-Maps?
lights {
"l-01": {"x":20, "y":40, "radius":15},
...
}
Die Frage, die ich habe betrachtet das System Reinigung: Muss ich durch die Karte zu durchlaufen alle die Zerstörung Sub-Maps und dann die Karte zerstören, wird Game Maker automatisch die Sub-Maps zerstören, wenn die Light Map zerstört wird?
ds_map_destroy(lights); // do the sub maps ("l-01") also get destroyed?
oder muss ich es so zu tun haben:
var k = ds_map_find_first(lights);
repeat(ds_map_size(lights)){
ds_map_destroy(lights[? k]);
k = ds_map_find_next(lights, k);
}
zusammen mit der ersten Frage Nach, wenn ich die Unter Karte
ds_map_delete(lights, "l-01") // will this destroy the map indexed under "l-01"
wird ein Schlüssel Game Maker zerstören löschen
Sie können fragen: "Warum verwenden Sie eine ds_map, um eine Reihe von ds_maps zu halten, warum nicht einfach eine Liste von Karten erstellen?
Die Antwort kommt von der zweiten Frage. Wenn ich die Karten in einer Liste halte und eine der Karten löschen muss, ändert sich die Größe der Liste beim Entfernen der Karte und daher werden alle anderen indexierten Werte ausgeglichen. Der zweite Grund ist, dass ds_maps im Game Maker viel schneller sind als ds_lists
Ich hoffe, ich habe meine Frage klar gemacht und dass einer von euch da draußen die Antwort hat.