Heb je deel 1 en deel 2 uit deze serie afgerond, dan beweegt je speler en is het level eigenlijk al klaar. Wat nog mist zijn een meter voor de afstand (en daarmee de score) en een afsluitend scherm. Die gaan we nu maken. We beginnen met het meten van de afstand, wat bestaat uit twee delen: een tekstbalk op het scherm en een globale spelregel die afstand meet en het invult in die balk.

Stap 3: de score bijhouden, het spel versnellen en beëindigen

Creëer een tekstobject zoals je ieder object maakt: dubbelklik in de layout en voeg uit de categorie General het Text-object toe. Plaats deze in de linkerbovenhoek en pas in de eigenschappen van het object de tekst aan. Klik op Text en verander dit in Afstand:. Vergroot dan het lettertype onder Font en als de tekst niet verschijnt in het blokje dan betekent dit dat het blok te klein is. Vergroot dan het tekstobject door het met de muiscursor te slepen vanaf de hoeken.

De afstand meten we met een global variable, ofwel een algemene spelregel die altijd geldt en altijd telt. Ga naar de event sheet en klik hier op een leeg gedeelte met de rechtermuisknop (in tegenstelling tot het klikken op Add event). Kies uit de opties voor Add global variable en noem deze bijvoorbeeld “Afstandgerend”. De naam is vooral voor jezelf om te onthouden wat je toevoegt. De beginwaarde (initial value) kan op 0 blijven staan, klik dus gewoon op OK om de variabele toe te voegen. Doe je dit dan staat de variabele bovenin de event sheet. De volgende stap is het koppelen van de variabele aan de tekst op het scherm. Omdat we willen dat de afstand altijd wordt gemeten, gebruiken we het event Every tick, wat ‘altijd’ betekent. Klik op Add event, voeg Every tick toe (dubbelklik of selecteer gevolgd door Done). Voeg nu een actie toe met een System-object. Zo maak je een systeemevent aan (een gebeurtenis die Construct 2 maakt gebaseerd op jouw regels). Klik dus Add action, dubbelklik dan System en kies nu uit de categorie Global & local variables de actie Add to. Selecteer Afstandgerend en vul 1 in bij de waarde (value). Klik op Done.

Test je nu het spel, dan telt Construct 2 op elk moment de afstand, hoewel je het nergens terugziet. Tijd om de telling in het tekstblok te zetten. Voeg nog een actie toe bij het Every tick event (Add action) en kies voor het tekstobject om hiermee een actie te creëren. Selecteer nu Set text uit de vele opties die je krijgt voorgeschoteld en gebruik de tekst “Afstand: “ &Afstandgerend. Heb je ooit bij ons de les gevolgd over het maken van Pong dan komt dit je vast bekend voor.

Test je nu het spel dan rollen de meters of punten binnen, wat redelijk snel gaat maar werkt voor een basisspel. Natuurlijk is de gemeten afstand goed te gebruiken om het spel te versnellen, bijvoorbeeld bij 500 meter. Laten we een event toevoegen die bij 500 op de teller de platformen versnelt. Ga naar de event sheet, klik op Add event en kies nu System. Selecteer nu Compare variable, een systeemevent dat een waarde checkt. Vervolgens opent er een nieuw scherm waar je de variabele Afstandgerend ziet. Open met het pijltje het dropdown-menu en selecteer bij comparison ≥ Greater or equal. Vul bij waarde 500 in. Klik op Done.

Voeg nu twee acties toe met respectievelijk platform 1 en platform 2 als object. Kies Set speed onder de acties bij Bullet en stel deze omhoog naar 500. In deel 2 las je reeds hoe we de snelheid van de platformen na het aanmaken van 400 naar 250 hadden gezet, nu kan het tempo weer worden verdubbeld. Test vooral even hoe dit werkt en je ziet dat het eigenlijk prima gaat. De eerste uitdaging zit in het spel! Je kunt onbeperkt nieuwe snelheden toevoegen, bijvoorbeeld bij een afstand van 1000 of 1500. Doe je dit, dan merk je dat het spel snel toeneemt in moeilijkheidsgraad, iets dat je nu volledig zelf in de hand hebt. We sluiten logischerwijze af met de beëindiging van het spel.

Game over

Een eindscherm is gemakkelijk te maken, want het hoeft slechts de tekst “Game over” met aanvullende info voor een nieuw spel te bevatten. Laten we eerst dit tekstobject maken zoals je gewend bent: dubbelklik in de layout en voeg het tekstobject toe. Vergroot het object door de hoeken te slepen, zodat je een groot lettertype kunt gebruiken (bijvoorbeeld een grootte van 28 in de Font-instellingen links). Klik op het vakje naast Text in de eigenschappen van het object en voer een tekst zoals “Game over! (druk op enter)” in. Plaats de tekst in het centrum van het scherm en zet in de eigenschappen de Initial Visibility op Invisible.

Op deze manier staat er altijd Game Over in het scherm, maar wordt het pas zichtbaar als de speler van het scherm verdwijnt. Dat gaat als volgt: maak een nieuw event en kies de speler als object. Zoek in het volgende scherm naar de gebeurtenis “Is outside layout” en klik op Done. Voeg nu een actie toe met het nieuwe tekstobject, dat ik in dit deel al heb hernoemd naar gameover (namen van objecten pas je aan in de objects bar, rechtsonder in het scherm). Uit de opties kies je nu voor Set Visible en stel je bij visibility de tekst in op Visible.

Nu moeten de variabelen weer naar 0 (de afstand) en we kunnen iets grappigs uithalen met de tekst uit het tekstblok van de afstand. Zo kun je bijvoorbeeld aangeven dat de speler in een gat is gevallen met dat tekstblok linksboven in het scherm. Je doet dit op dezelfde manier als het weergeven van de afstand (in het begin van dit deel). Voeg bij het Is outside layout-event een nieuwe actie toe met het tekstobject dat de afstand toont. Kies als actie Set text to en gebruik dan een tekst zoals “In een gat verdwenen”. Nu verschijnt die tekst in plaats van de afstand linksboven in het scherm bij het vallen. Ook staat er in dat geval Game over en rest slechts het herstarten van het spel. Voordat je dat implementeert, moet de globale regel met de teller van de afstand weer op 0 staan. Voeg nog een actie toe bij het Is outside layout-event en kies System uit het menu. Onder de opties vind je Reset global variable to default. Selecteer deze functie en klik op Done. Als laatste koppelen we een toets aan het herstarten van het spel: Enter. Maak een nieuw event en kies Keyboard als object. Selecteer On key pressed en kies de toets in het volgende scherm. Omdat Enter niet automatisch kan worden gedetecteerd kies je de toets (hier: Return, een andere benaming van Enter) uit het dropdown-menu onder “choose a key that can’t be detected above”. Komt je event sheet overeen met die uit de afbeelding hierboven dan werkt het spel!

We hopen dat je met plezier deze lessen hebt gevolgd en wie weet volgen er binnenkort meer! Heb je vragen en/of verzoekjes dan horen we het graag, wil je nóg meer lessen volgen dan raden we aan het artikel over Pong in 15 minuten te lezen.