Het ontwerpen van spellen met Game Maker
Het gebruik van expressies en variabelen
In veel acties is het nodig om waarden aan parameters mee te geven. In plaats van alleen een getal mee te geven, kun je ook een formule intypen, bijv. 32*12. Je kunt ook veel gecompliceerdere expressies meegeven. Bijv. wanneer je de horizontale snelheid wilt verdubbelen, kun je dit aangeven door 2*hspeed. De variabele hspeed geeft de huidige horizontale snelheid weer van de instantie. Er zijn een groot aantal variabelen die je kunt gebruiken. Een aantal van de meest belangrijke zijn:
x de x-coördinaat van de instantieJe kunt de meeste van deze variabelen wijzigen door de set variabele actie. Je kunt ook je eigen variabelen definiëren door hen een waarde toe te kennen, gebruik echter geen relatieve omdat ze nog niet bestaan. Je kunt deze variabelen vervolgens gebruiken in expressies. De variabelen die je op deze manier creëert zijn lokale variabelen voor de huidige instantie. Ieder object heeft een eigen kopie ervan. Om een globale variabele te creëren moet je het woord global en een punt ervoor zetten.
y de y-coördinaat van de instantie
hspeed de horizontale snelheid (pixels per step)
vspeed de verticale snelheid (pixels per step)
direction de huidige bewegingsrichting in graden (0-360)
speed de huidige snelheid in deze richting
visible of een object zichtbaar(1) is of niet(0)
image_index Deze variabele geeft aan welk subplaatje van de huidige sprite op dit moment wordt getoond. Als je het verandert en de snelheid op 0 zet (zie onder) kun je een vast subplaatje in beeld brengen.
image_speed Deze variabele geeft de snelheid aan waarmee de subplaatjes worden getoond. De standaard waarde is 1. Als je deze waarde groter dan 1 maakt zullen een aantal plaatjes niet getoond worden waardoor de animatie sneller verloopt. Als je de waarde kleiner maakt dan 1 zal de animatie langzamer verlopen doordat subplaatjes meerdere malen worden getoond.
score de huidige waarde van de score
lives het huidige aantal levens
health de huidige levenskracht (0-100)
mouse_x x-positie van de muis
mouse_y y-positie van de muis
Je kunt refereren aan de waarden van de variabelen voor andere objecten door de objectnaam en een punt ervoor te zetten. Bijv. wanneer je een bal wilt laten bewegen naar de plaats waar de munt is, kun je de positie als volgt aangeven (coin.x , coin.y). In het geval van een collision event, kun je refereren aan de x-coördinaat van de andere objecten door other.x te schrijven. In conditionele expressie kun je gebruik maken van vergelijkingen als < kleiner dan), >, enz.
In je expressies kun je ook gebruik maken van functies. Bijv. de functie random(10) geeft een random reëel getal onder de 10 aan. Je kunt zo bijvoorbeeld de snelheid van de bewegingsrichting instellen op een random waarde. Veel meer functies bestaan. Die worden beschreven in deel 4 van de documentatie.