Het ontwerpen van spellen met Game Maker
Rasters (grids)
Een raster is eenvoudigweg een tweedimensionale serie. Een raster heeft een breedte en hoogte geheel. De structuur staat je toe om de waarde van cellen in het raster te plaatsen en terug te ontvangen door de index van deze te geven (die met 0 in zowel de x als de y richting begint. Maar je kunt de waarde ook in gebieden plaatsen, toevoegen en de som, maximum, min, en gemiddelde waarde over een gebied ontvangen. De structuur is nuttig om bijv. een speelgebied te vertegenwoordigen. Alhoewel de functionaliteit ook kan worden bereikt met behulp van tweedimensionale series, de verrichtingen op gebieden zijn sneller. De volgende functies bestaan:
ds_grid_create(w, h) Creëert een nieuw raster met de vermelde breedte en de hoogte. De functie geeft een geheel als een id terug die in alle andere functies moet worden gebruikt om tot dit raster toegang te hebben.
ds_grid_destroy(id) Vernietigt het raster met bepaalde id, waardoor het gebruikte geheugen vrij komt. Vergeet niet om deze functie te gebruiken wanneer je met de structuur klaar bent.
ds_grid_resize(id, w, h) Stelt opnieuw de breedte en hoogte van het raster in. De bestaande cellen houden hun originele waarde.
ds_grid_width(id) Geeft de breedte van het raster met vermelde id terug.
ds_grid_height(id) Geeft de hoogte van het raster met vermelde id terug.
ds_grid_clear(id, val) Ontruimt het raster met bepaalde id, aan de vermelde waarde (kan zowel een aantal als een tekenreeks zijn).
ds_grid_set(id, x, y, val) Plaatst de vermelde cel in het raster met bepaalde id, aan de vermelde waarde (kan zowel een aantal als een tekenreeks zijn).
ds_grid_add(id, x, y, val) Voegt de waarde aan de vermelde cel in het raster met een bepaalde id toe. Voor tekenreeksen beantwoordt dit als een aaneenschakeling.
ds_grid_multiply(id, x, y, val) Vermenigvuldigt de waarde van de vermelde cel in het raster met bepaalde id. Is slechts geldig voor aantallen.
ds_grid_set_region(id, x1, y1, x2, y2, val) Plaatst alle cellen in het gebied in het raster met bepaalde id, aan de vermelde waarde (kan zowel een aantal als een tekenreeks zijn).
ds_grid_add_region(id, x1, y1, x2, y2, val) Voegt de waarde aan de cel in het gebied in het raster met bepaalde id toe. Voor tekenreeksen beantwoordt dit aan een aaneenschakeling.
ds_grid_multiply_region(id, x1, y1, x2, y2, val) Vermenigvuldigt de waarde van de cellen in het gebied in het raster met bepaalde id. Is slechts geldig voor aantallen.
ds_grid_set_disk(id, xm, ym, r, val) Stelt alle cellen in de schijf met centrum (xm,ym) en straal r.
ds_grid_add_disk(id, xm, ym, r, val) Voegt een waarde aan alle cellen in de schijf met centrum (xm,ym) en straal r toe.
ds_grid_multiply_disk(id, xm, ym, r, val) Vermenigvuldigt de waarde van alle cellen in de schijf met centrum (xm,ym) en de straal r.
ds_grid_get(id, x, y) Geeft de waarde van de vermelde cel in het raster met bepaalde id terug.
ds_grid_get_sum(id, x1, y1, x2, y2) Geeft de som van de waarden van de cellen in het gebied in het raster met bepaalde id terug. Werkt slechts wanneer de cellen aantallen bevatten.
ds_grid_get_max(id, x1, y1, x2, y2) Geeft het maximum van de waarden van de cellen in het gebied in het raster met bepaalde id terug. Werkt slechts wanneer de cellen aantallen bevatten.
ds_grid_get_min(id, x1, y1, x2, y2) Geeft het minimum van de waarden van de cellen in het gebied in het raster met bepaalde id terug. Werkt slechts wanneer de cellen aantallen bevatten.
ds_grid_get_mean(id, x1, y1, x2, y2) Geeft het gemiddelde van de waarden van de cellen in het gebied in het raster met bepaalde id terug. Werkt slechts wanneer de cellen aantallen bevatten.
ds_grid_get_disk_sum(id, xm, ym, r) Geeft de som van de waarden van de cellen in de schijf.
ds_grid_get_disk_min(id, xm, ym, r) Geeft het minimum van de waarden van de cellen in de schijf terug.
ds_grid_get_disk_max(id, xm, ym, r) Geeft het maximum van de waarden van de cellen in de schijf terug.
ds_grid_get_disk_mean(id, xm, ym, r) Geeft het gemiddelde van de waarden van de cellen van de schijf terug.
ds_grid_value_exists(id, x1, y1, x2, y2, val) Geeft terug of de waarde ergens in het gebied bestaat.
ds_grid_value_x(id, x1, y1, x2, y2, val) Geeft de x-coördinaat van de cel terug waarvan de waarde in het gebied bestaat.
ds_grid_value_y(id, x1, y1, x2, y2, val) Geeft de y-coördinaat van de cel terug waarvan de waarde in het gebied bestaat.
ds_grid_value_disk_exists(id, xm, ym, r, val) Geeft terug of de waarde ergens in de schijf bestaat.
ds_grid_value_disk_x(id, xm, ym, r, val) Geeft de x-coördinaat van de cel terug waarvan de waarde in de schijf bestaat.
ds_grid_value_disk_y(id, xm, ym, r, val) Geeft de y-coördinaat van de cel terug waarvan de waarde in de schijf bestaat.