‫Hallo en welkom.
‫In deze lezing gaan we leren over if-statements, in wezen C++ branch-statements, en we
‫gaan het gebruiken om ons platform heen en weer te sturen.
‫Laten we erin duiken.
‫Dus er zijn nu een paar plaatsen in de reacties waar we zeiden dat we iets moesten doen als
‫we te ver zijn gegaan.
‫Hoe doen we dit als.
‫Welnu, eerder in Blueprint deden we dat als we een vertakkingsknooppunt hadden.
‫Nu is er in C++ een soortgelijk concept en het wordt een if-statement genoemd.
‫Dus hier is een vertakkingsknooppunt dat we eerder als voorbeeld hadden.
‫En je kunt zien dat deze variabele zegt, ik heb honger, het is een boolean, en
‫we kunnen het in de voorwaarde plaatsen en dan kunnen we ofwel een echte uitvoeringstak of een valse uitvoeringstak
‫hebben en we kunnen codefuncties uitvoeren.
‫Alles in Blueprint in C++ lijkt erg op elkaar, behalve dat het tekstueel is.
‫Dus we zouden een variabele hebben met de naam I'm Hungry, wat een boolean is, en we kunnen gewoon zeggen of er haakjes
‫omheen staan.
‫Dan zouden we enkele accolades openen na onze if-statement, vaak op de volgende regel, en dan binnen deze accolades
‫kunnen we de dingen uitvoeren die zouden moeten gebeuren als het waar is.
‫Dus we zeggen dat als ik honger heb, junkfood eet terwijl de vrouw niet kijkt en dan kunnen we onze accolade
‫sluiten om te zeggen, oké, dat is het einde van dit gedoe.
‫Dat moet voorwaardelijk gebeuren.
‫En dan is er een optie dat als we een false branch willen plaatsen,
‫als we iets willen verbinden met de false hier, we een else trefwoord plaatsen en we een tweede set accolades kunnen starten.
‫En hier kunnen we videospelletjes blijven spelen en dan kunnen we de beugels sluiten.
‫Nu kunnen we hier zoveel regels hebben als we willen tussen deze accolades, het is niet nodig dat er
‫maar één enkele regel is.
‫Dus je zou hier veel code kunnen toevoegen als je wilt, of je kunt gewoon een enkele regel hebben.
‫En ook met de variabele hier, hoeft het geen variabele te zijn die in een if-statement wordt gestoken.
‫Het kan elke expressie zijn die een boolean retourneert.
‫Dus je kunt hier een beetje een functie aanroepen.
‫U kunt een operator gebruiken om een ander resultaat te krijgen.
‫Er zijn dus een paar verschillende opties voor ons beschikbaar.
‫Maar daarvoor moeten we configureren hoe ver dit platform mag gaan voordat het moet terugkeren
‫en dat doen.
‫We hebben een nieuw pand nodig.
‫We hebben momenteel onze afstand verplaatst als een zichtbare overal.
‫Laten we hier net boven een nieuwe maken, een paar eigenschappen die overal moeten worden toegevoegd omdat we deze
‫in de editor willen kunnen configureren.
‫En ik gebruik dezelfde categorie van bewegend platform van bovenaf en dan van beneden, hier zal het van het type zweven
‫zijn omdat het een afstand zal zijn en ik ga het de verplaatsingsafstand noemen, zoals zo wanneer
‫gegeven een standaardwaarde, ik ga het 100 eenheden als standaard geven.
‫Maar dan kunnen we dat natuurlijk overschrijven, dat veranderen in de editor en dan kunnen we dit
‫gebruiken in het C++-bestand.
‫Dus de manier waarop we dit gaan doen, is dat we onze variabele afstand al hebben verplaatst.
‫Ik wil eigenlijk niet meer kunnen observeren, dus ik ga de eigenschap visible overal en de
‫variabele distance move uit het headerbestand verwijderen.
‫Dan ga ik terug naar de C++ en in plaats daarvan declareren we het als een lokale variabele.
‫Dus de makkelijke manier om dat te veranderen is door een dobber voor afstandsbeweging te houden die het in feite als een lokale variabele
‫hier binnen de technologie declareert, wat betekent dat we weten dat het elke keer dat we het gebruiken
‫volledig vers is.
‫Dus nu moeten we de richting omkeren van wie te ver is gegaan.
‫Dus de manier waarop we dit kunnen doen, is dat we operatoren kleiner dan of gelijk aan of groter dan kunnen gebruiken die we
‫in het verleden als knooppunten in blauwdruk hebben gezien.
‫Maar nu kunnen we ze gebruiken als operatoren zoals we zouden doen met plus of vermenigvuldiging.
‫En de manier waarop we dit kunnen doen is door te zeggen, oké, we hebben de afstand verplaatst.
‫Is dit groter dan op de verplaatsingsafstand?
‫Dus we kunnen het groter dan-symbool gebruiken, dat is deze juiste Chevron, en dan kunnen we de verplaatsingsafstand zetten.
‫Het lijkt erop dat ik het de verplaatsingsafstand heb genoemd, maar ik denk dat het de verplaatsingsafstand zou moeten zijn.
‫Dus ik heb er per ongeluk een extra D in gehad.
‫Laten we dat uit de kop van het bestand verwijderen en je ziet dat deze expressie hier een boolean retourneert, zodat
‫we het daadwerkelijk in ons if-statement kunnen gebruiken.
‫Dus wat we kunnen doen, is dat we kunnen zeggen of de spatie haakjes opent en dan ga ik deze uitdrukking knippen en
‫tussen die haakjes plakken.
‫Dus het is oké als de verplaatste afstand groter is dan de verplaatsingsafstand, dan willen we in
‫wezen de richting omkeren.
‫Dus daar doen we deze opmerking voor.
‫We willen de bewegingsrichting omkeren en de bewegingsrichting omkeren.
‫We hebben een platformsnelheid.
‫Dus laten we de platformsnelheid op het negatieve van zichzelf instellen, in feite de richting omkerend.
‫Dus platformsnelheid is gelijk aan.
‫Negatieve platformsnelheid.
‫Dus dat gaat in feite de pijl over de snelheid draaien.
‫Ik ga een puntkomma aan het einde van die regel plaatsen en laten we eens kijken of deze verklaring echt werkt zoals we
‫bedoeld hadden.
‫Laten we naar de editor gaan en op compileren klikken.
‫En nu dat met succes is voltooid, kunnen we doorgaan en op play klikken en kijken wat er gebeurt.
‫Dus ik verwacht dat het vooruit en achteruit gaat zoals het nu gaat, en dat is best goed.
‫Wat er feitelijk aan de hand is, is dat het een beetje voorbij zijn beginpunt gaat.
‫Nu, de reden daarvoor.
‫Dus als we kijken, is dat het uitgangspunt.
‫En als ik op play druk en naar de zijkant kijk vanuit dezelfde hoek als waar mijn speler staat,
‫kun je zien dat hij dezelfde afstand vanaf het startpunt in elke richting aflegt.
‫En dat komt omdat als we kijken naar wat hier wordt berekend, de afstand die wordt afgelegd vanaf een
‫startlocatie is die nooit verandert.
‫We werken die startlocatie nooit bij.
‫We gaan dus de negatieve kant op.
‫We gaan er dan even veel langs als we de andere kant op reisden.
‫Dus dat is niet hoe ik wil dat mijn platform werkt.
‫Dus ik ga je uitdagen om je startlocatie bij te werken.
‫We gaan dat doen in de verklaring.
‫Dus het gaat alleen gebeuren wanneer we het einde van onze reis bereiken en je gaat het als de
‫huidige locatie instellen, zodat we in feite ons startpunt naar de andere kant resetten en dan kunnen we in de
‫tegenovergestelde richting reizen.
‫Dus test de resultaten en kijk of het werkt zoals je verwacht.
‫Pauzeer de video en probeer het.
‫Oké.
‫Welkom terug.
‫Dus we gaan nadat we de snelheid hier hebben omgekeerd, het maakt eigenlijk niet uit of het erna
‫of ervoor is, omdat ze geen invloed op elkaar hebben.
‫We gaan de startlocatie gelijk stellen aan de huidige locatie, wat in wezen betekent dat in het volgende frame de verplaatste afstand
‫nul zal zijn, omdat we weten dat de afstand tussen de startlocatie en
‫zichzelf nul zal zijn.
‫Laten we teruggaan naar en echt op de compileerknop drukken.
‫En als dat klaar is, laten we dan op play drukken en kijken wat er nu gebeurt.
‫Dus ik verwacht dat dit zowel voor- als achteruit gaat.
‫Daar ga je.
‫Ongeveer hetzelfde aantal eenheden gaat altijd terug naar de startlocatie, niet verder terug,
‫wat fantastisch is.
‫Precies wat ik wilde dat er zou gebeuren.
‫Dus dat was het voor deze lezing. We hebben geleerd hoe we onze if-statements en Booleaanse uitdrukkingen kunnen gebruiken om dat te
‫doen en we hebben toegestaan dat ons platform heen en weer wordt gestuurd.
‫Goed spul.
‫Ik zie je in de volgende lezing.