‫Hallo en welkom.
‫In deze lezing gaan we ervoor zorgen dat wanneer je al je projectielen opgebruikt, je
‫spel automatisch het huidige niveau opnieuw start.
‫Laten we na een pauze van 5 seconden erin duiken en kijken hoe dit wordt gedaan.
‫Dus een element van dit spel dat op dit moment niet echt leuk is, is dat wanneer je geen munitie meer hebt, het
‫een doodlopende weg is.
‫Je kunt het niet opnieuw proberen, je kunt niets anders doen, je kunt niet naar een ander niveau gaan.
‫De manier waarop u dit kunt oplossen, is door ons toe te staan opnieuw te laden op het huidige niveau.
‫De manier waarop u dat kunt doen, is door een speciale notitie in Blueprint te gebruiken.
‫Dus als u met de rechtermuisknop in de gebeurtenisgrafiek klikt, opent u uw niveaublauwdruk en klikt u met de rechtermuisknop in de
‫gebeurtenisgrafiek.
‫We kunnen zoeken naar open niveau.
‫En er zijn hier twee opties.
‫Er is een open niveau op naam en een open niveau op objectreferentie.
‫We kunnen het open niveau op naam gebruiken.
‫Dus hier heb je een knooppunt dat duidelijk bijwerkingen heeft omdat het het niveau gaat herladen en het heeft een invoer, wat
‫hier de naam van het niveau is.
‫Hoe komen we nu aan de naam van het huidige niveau?
‫We kunnen het gewoon intypen, maar als we dit niveau in de toekomst per ongeluk hernoemen, kunnen we ook
‫met de rechtermuisknop klikken en een naam van het huidige niveau ophalen, waarmee we een ander knooppunt krijgen dat de naam van het
‫huidige niveau retourneert .
‫Interessant genoeg is dit geen pure functie.
‫Ik heb geen idee waarom dat zo is, want het ziet eruit zoals het zou moeten zijn.
‫En wat we kunnen doen, is dat we het kunnen.
‫Ook al zijn deze twee typen verschillend, de ene retourneert een tekenreeks en de andere vereist
‫iets van de typenaam.
‫Het is eigenlijk mogelijk om heel eenvoudig te converteren tussen strings en naam, zodat we van de retourwaarde naar
‫de invoerwaarde kunnen slepen, en er wordt automatisch een conversieknooppunt voor ons gemaakt.
‫We moeten ook het uitvoeringspunt tussen deze twee aansluiten.
‫Dus we gaan de naam van het huidige niveau converteren en dan het niveau openen.
‫Wanneer willen we dit nu doen?
‫Momenteel gebeurt alles op een belangrijk evenement of begint het spel, maar er is nog een andere optie.
‫Wat we kunnen doen, is dat we een speciaal knooppunt in de root-gebeurtenisgrafiek kunnen hebben, dus niet binnen functies maar
‫binnen de root-gebeurtenisgrafiek, een vertragingsknooppunt genoemd.
‫Dus wat we gaan doen is nadat de munitie op is, we gaan de executiepin hier
‫loshalen en zoeken naar vertraging.
‫En dan kun je zien dat het een speciaal soort knooppunt binnenbrengt met een klok erop.
‫En dit betekent dat de uitvoer niet onmiddellijk plaatsvindt nadat de functie is voltooid, maar na een
‫bepaalde tijd.
‫U kunt dus zien dat we hier de duur kunnen invoeren, en die duur kan bijvoorbeeld 5 seconden zijn.
‫Dus in mijn afdrukreeks ga ik het bijwerken om te zeggen dat de munitie binnen 5 seconden opnieuw moet worden opgestart en dan punt, punt,
‫punt.
‫En dan kunnen we de code inpluggen die het niveau opnieuw start in de uitvoer, het voltooide knooppunt van
‫het vertragingsknooppunt.
‫Dus als we nu doorgaan en spelen, zullen we zien dat mijn munitie opraakt, al mijn munitie opraakt, ik
‫heb geen munitie meer.
‫En er staat Herstarten in 5 seconden en na 5 seconden is verstreken, boem, het niveau is net opnieuw gestart.
‫Zo kleine uitdaging voor deze lezing is om een functie te extraheren uit die knooppunten die we zojuist hebben gemaakt, het huidige
‫niveau, de naam en het open niveau.
‫En mijn uitdaging aan jou is om gewoon een goede naam voor deze functie te bedenken.
‫Pauzeer de video en probeer het.
‫Oké.
‫Welkom terug.
‫Nou, ik ga het herstartniveau noemen, want dat is wat ik denk dat het doet.
‫Dus ik ga met de rechtermuisknop op een functie klikken en het herstartniveau noemen en het is prima met de huidige
‫invoer.
‫Het hoeft niet puur te zijn, want het heeft als bijwerking dat het level opnieuw moet worden gestart.
‫Dus we zouden toch niet willen dat het puur is.
‫Dus dat is het.
‫Ik ga mijn knooppunten zo lichtjes reorganiseren en mijn testknooppunt verwijderen en mijn testfunctie verwijderen door er met de rechtermuisknop op te
‫klikken in mijn blauwdrukken en op verwijderen te drukken.
‫En we hebben een beknopte kleine blauwdrukgrafiek die eigenlijk precies beschrijft wat onze game kan
‫doen op een zeer hoog niveau.
‫Dus ik ben blij met de resultaten daarvan.
‫Het voelt alsof we een goede gameloop hebben en ik zie je in de volgende lezing.