‫Hallo en welkom.
‫In deze lezing gaan we onze code aanpassen om onze grijpfunctie kleiner en leesbaarder te
‫maken.
‫En we gaan onze parameters weer gebruiken.
‫Deze keer gaan we een functie maken die deze als parameter neemt.
‫Laten we erin duiken en kijken hoe we dit kunnen doen.
‫Het is dus over het algemeen de beste gewoonte om functies op één scherm te laten passen.
‫Nu, in mijn geval, is mijn scherm erg groot.
‫Maar we leren nog steeds.
‫Het is dus eigenlijk logisch om nog kleinere functies te hebben om dingen begrijpelijk te maken.
‫En ik denk dat deze grijpfunctie te lang is geworden, dus ik denk dat we het kunnen opsplitsen in redelijk functionele eenheden.
‫De eerste zal het bit zijn dat de sweep doet en alle berekening van de start-
‫en eindvectoren doet en het hitresultaat uitvoert en of we hebben geraakt of niet.
‫De Boolean die zegt of we hebben geslagen en het tweede bit zit in de if-statement
‫die we waarschijnlijk kunnen verlaten als de taak van grijpen, want dat heeft eigenlijk met grijpen te maken, toch?
‫We moeten het stijve lichaam wakker maken.
‫We moeten een component pakken die logisch is om een methode te zijn die wordt aangeroepen in een functie met de naam grab.
‫Maar deze andere dingen zijn een beetje meer tangentieel.
‫Het is meer een hulpprogramma dat we moeten gebruiken.
‫Dus ik daag je uit om dat nut te creëren, een bal binnen handbereik te krijgen.
‫Zo zou het volgens mij moeten heten, het ding dat beschrijft wat die brok code doet.
‫Dus extraheer al die sweep-code in een nieuwe privéfunctie, hoe te denken over wat de parameters en de retourwaarde ervan
‫zouden moeten zijn.
‫Onthoud dat je twee uitgangen hebt.
‫Dus we hebben een hit en hit resultaat.
‫U moet dus nadenken over het gebruik van een out-parameter om dit te laten werken.
‫Als je een kleine hint wilt, ga ik je zo laten zien wat ik in het header-bestand ga
‫zetten.
‫Als je dat niet doet, kun je de video nu pauzeren.
‫Anders geef ik je de hint.
‫Dus we gaan erheen om een punt h te pakken en daaronder waar we
‫fysiek handvat moeten krijgen, zullen we een Booleaans retourtype hebben om ons te vertellen of er iets is,
‫we kunnen iets pakken, laten we een pak pakken bal binnen bereik is, moeten we het een parameter geven die een out-parameter
‫wordt.
‫Het wordt dus een niet-constante verwijzing naar het F-trefferresultaat per referentie.
‫Ampersand en dan noemen we dat het resultaat van de alt-hit zo.
‫En dan denk ik dat dit niets in onze functie gaat veranderen, dus we kunnen het ook constant maken.
‫Het zijn een beetje bonuspunten als je daar al aan had gedacht.
‫Dus ga je gang, pauzeer, video en probeer die functie in het C++-bestand in te vullen.
‫Oké.
‫Welkom terug.
‫Dus ik ga het kopiëren naar C++.
‫Ik ga het onder onze physics-handvatcomponent plaatsen om overeen te komen met de volgorde die we hebben in
‫het headerbestand.
‫Ik ga de U-grabber vooraan toevoegen.
‫Ik ga het correct inspringen.
‫Ik ga in plaats van de puntkomma de accolades toevoegen, en dan ga ik de code verplaatsen die we
‫in de greep hebben.
‫Dus vanaf regel 53 voor mij, tot 65.
‫Ik ga dat allemaal schrappen.
‫Ik zal het zo vervangen door iets.
‫Ik ga het erin plakken om een bal binnen handbereik te krijgen.
‫En we hebben dit hitresultaat dat we hebben gemaakt.
‫Wat we kunnen doen, is dat we dat kunnen vaststellen, resultaten die gelijk zijn aan ons hitresultaat dat we hier hebben.
‫We willen dat misschien alleen doen als we er twee hebben geraakt, dus we kunnen dat als de instructie zo
‫heeft geraakt en deze opdracht inpakken, de out-hits naar de hitresultaten in de if-instructie en dan kunnen we doorgaan
‫en bij de einde van de functie, gewoon terug is geraakt, dus nu is er een optimalisatie of een verbetering die
‫hier kan worden aangebracht omdat we door middel van verwijzing naar het sweep-kanaal gaan en naar de grabball binnen
‫handbereik.
‫Het is niet nodig om hier een nieuw trefferresultaat aan te maken en dit vervolgens naar het trefferresultaat te kopiëren.
‫Dat is gewoon geheugenverlies.
‫Wat we kunnen doen, is dat we het hitresultaat dat we binnen creëren, kunnen verwijderen, de bal binnen handbereik krijgen.
‫En in plaats daarvan kunnen we gewoon de referentie gebruiken die we hebben doorgegeven om direct door te gaan naar de sweep
‫per kanaal.
‫Dus het geeft deze verwijzing eigenlijk door aan functies naar beneden in de sweep per kanaal waar
‫het wordt ingevuld.
‫Dat elimineert de noodzaak voor de if-instructie, waardoor deze functie een beetje sneller en gemakkelijker te lezen
‫is.
‫En in feite denk ik niet dat we een variabele nodig hebben om hits op te slaan.
‫We kunnen gewoon doorgaan en terugkeren.
‫Het zal veel schoner zijn om de Get World Suite-kanaalresultaten te retourneren.
‫Dus we geven de resultaten daarvan gewoon door via een back-up om binnen handbereik te komen of wie het
‫ook roept.
‫Dus als we het hebben over wie het ook roept, we moeten nu in onze greep gaan.
‫We moeten ons hitresultaat ergens creëren.
‫We moeten het hier creëren.
‫Dus hit resultaat, dit is degene die we gaan vullen.
‫We gaan dan een briljante variabele maken die hit gaat worden en die gelijk aan
‫je krijgt, pak een bal binnen bereik en we gaan het hitresultaat doorgeven door verwijzing dat we
‫willen vullen.
‫En als we hebben geraakt, gaan we verder en voeren we de grijpcode uit.
‫Fantastisch spul.
‫We hebben iets erin verplaatst naar een functie om deze grijpfunctie op één scherm te laten passen.
‫En we hebben opnieuw gebruik gemaakt van onze parameters, deze keer hebben we een functie voor onszelf gecreëerd die ze
‫serieus gebruikt.
‫Ik zie je in de volgende video.