2014 GameMaker Language F. Vonk versie 2 5-3-2014
Inhoudsopgave 1. inleiding... - 3-2. GML en GameMaker... - 4-3. links... - 10 - Dit werk is gelicenseerd onder een Creative Commons Naamsvermelding NietCommercieel GelijkDelen 3.0 Unported licentie De afbeelding op het voorblad is verkregen via INFOwrs. Copyright 2010 INFOwrs Serviços em informatica. - 2 -
1. inleiding Welkom bij de module over GML. GML staat voor GameMaker Language en is een scripttaal die lijkt op bijvoorbeeld Javascript. Het is een aanvulling op het D&D (Drag & Drop, grafisch) programmeren in de GameMaker omgeving. Met GML kun je feitelijk alles wat je met d&d kunt en meer. Een nadeel is dat je tekstueel gaat programmeren en daardoor mogelijk meer last gaat krijgen van syntax (spelling) en semantische (grammatica) fouten. In deze module wordt GML niet stap voor stap uitgelegd. Er wordt kort verteld hoe je GML kunt inbedden in de GameMaker omgeving. Verder worden een aantal links gegeven waarop je meer informatie over GML kunt vinden. Let op, links in dit document hebben een rode kleur. Veel plezier en succes. - 3 -
2. GML en GameMaker Er zijn een aantal manieren om GML scripts in te bedden in de GameMaker omgeving. De eerste manier is als "creation code" van een room. Als je een room opent is de Creation code button deze te vinden onder de settings tab, zie Figuur 1. Figuur 1: Locatie van de Creation code button van een room. Deze kan gebruikt worden ter vervanging van de d&d actions in het create event van je room controller (typisch het object zonder sprite in de room), zie Figuur 2 en Figuur 3. Het nadeel is dat je "creation code" niet in een nieuwe room kunt hergebruiken zonder hem te kopiëren en dat kan met een room controller object wel. - 4 -
Figuur 2: Create event code met D&D voor object controller. Figuur 3: GML "creation code" die de D&D Create event code vervangt. "Creation code" kun je ook aan instanties van objecten in een room hangen. Als je met de rechter muisknop op een instantie in een room klikt dan krijg je onderin het context menu de optie Creation Code... te zien, zie Figuur 4. Deze werkt op dezelfde manier als de "creation code" voor een room en is specifiek voor deze instantie. Als je dus twee instanties van hetzelfde object in een room hebt, dan hebben deze dus ieder hun eigen "creation code". - 5 -
Figuur 4: Locatie voor toegang tot de "Creation code" van een instantie in een room. De tweede manier is als "Execute Code" action in een event van een object. Deze vind je in de control tab, zie Figuur 5. Je gebruikt dan één stuk code dat alle D&D elementen van het event vervangt, zie Figuur 6, Figuur 7 en Figuur 8. Figuur 5: Locatie van "Execute Code" action. - 6 -
Figuur 6: Collision met muurlinks event D&D code voor object bal. Figuur 7: Collision met muurlinks event D&D code voor object bal met GML. - 7 -
Figuur 8: GML die D&D Collision met muurlinks event code vervangt. De derde manier is het aanroepen van een script in de Scripts folder via de "Execute Script" action in een event van een object. Deze vind je in de control tab, zie Figuur 9. Je gebruikt dan wederom één stuk code dat alle D&D elementen van het event vervangt, zie Figuur 10, Figuur 11 en Figuur 12. Figuur 9: Locatie van "Execute Script" action. - 8 -
Figuur 10: Collision met muurrechts event D&D code voor object bal. Figuur 11: Collision met muurrechts event D&D code voor object bal met GML. Figuur 12: GML die D&D Collision met muurrechts event code vervangt - 9 -
3. links De volgende links zijn redelijk tot goed om van te leren of dingen op te zoeken. reference manuals (om dingen op te zoeken): docs.yoyogames.com Dit overzicht is in het Engels en in de vorm van tekst. www.gmlscripts.com. Dit overzicht is in het Engels en in de vorm van tekst. tutorials (om van te leren): www.trollsplatterer.be 1 Deze tutorial is in PDF vorm, in het Engels en in de vorm van tekst. www.gamemakerlanguage.herobo.com Deze tutorial is in het Engels en in de vorm van tekst. 1 De website www.trollsplatterer.be bevat nog meer informatie over GameMaker in het algemeen. - 10 -