‫Hallo en welkom terug.
‫Nu hebben we al de mogelijkheid gecreëerd om met de dood om te gaan voor de tank en toren, en we zagen dat
‫dit enkele extra stappen met onze tank met zich meebracht, aangezien we de spelercontroller gebruikten om invoer uit te schakelen en het tonen
‫van de muiscursor uit te schakelen.
‫Nu willen we onze eigen aangepaste spelercontrollerklasse hebben, zodat we er functionaliteit aan kunnen toevoegen die
‫dit voor ons afhandelt.
‫En dan willen we een blauwdruk maken op basis van deze klasse, zodat we toegang hebben tot
‫enkele van de blootgestelde variabelen op de spelercontroller, zoals welke muiscursor moet worden weergegeven zodra we de muiscursor daadwerkelijk
‫gaan weergeven.
‫We gaan dus een spelercontrollerklasse maken en invoerfunctionaliteit in- en uitschakelen.
‫En dan gaan we een blauwdruk maken en het muisaanwijzertype in blauwdrukken instellen.
‫Het maken van deze klasse is iets dat u weet te doen.
‫Dus je gaat een spelercontrollerklasse maken voor je uitdaging, een nieuwe C++-klasse maken en
‫spelercontroller kiezen als de bovenliggende klasse.
‫Noem dit deuntje tanks, spelercontroller of iets dergelijks.
‫En als je klaar bent, maak je een blauwdruk op basis van deze klasse.
‫Nu, als je eenmaal de blauwdruk hebt, kun je deze toewijzen als de standaard spelercontroller in
‫de spelmodusblauwdruk.
‫Doe dit in de spelmodus, blauwdruk zelf.
‫Pauzeer de video en maak nu de spelercontrollerklasse voor de tank.
‫Oké.
‫Dus ik ben weer terug in de redactie.
‫Ik ga met de rechtermuisknop klikken op nieuwe C ++ -klasse en naar beneden scrollen en ik zal zien dat de spelercontroller hier
‫een optie is.
‫Dus ik ga spelercontroller selecteren en mijn nieuwe spelercontroller tune tanks noemen.
‫Speler, controller en klik op klasse maken.
‫En hier heb ik mijn nieuwe player controller class.
‫De volgende stap is nu om op basis hiervan een blauwdruk te maken.
‫Dus ik ben terug in de editor en ik heb je niet verteld om dit te doen, maar ik ga een
‫nieuwe map maken hier in mijn blauwdrukkenmap genaamd Player Controller.
‫En als je dezelfde mapstructuur wilt, kun je deze map nu maken als je dat nog niet
‫hebt gedaan en vervolgens de blauwdruk van je spelercontroller hierin verplaatsen.
‫Als u niet weet hoe u een blauwdruk van de ene map naar de andere moet verplaatsen, is dat vrij eenvoudig.
‫Je gaat naar de map die de blauwdruk bevat, klikt en sleept naar de juiste map en klikt
‫hierheen verplaatsen.
‫Nu wil ik mijn projectiel niet naar deze map verplaatsen, dus ik ga gewoon hier in de inhoudbrowser
‫klikken om die actie te annuleren.
‫Dus nu heb ik een map met spelercontrollers.
‫Ik ga met de rechtermuisknop klikken en op Blueprint Class klikken en in deze zoekopdracht ga ik op zoek
‫naar toontanks, spelercontroller en selecteer die klasse en klik op Selecteren.
‫Nu kan ik deze pieptoon onderstreping toon tanks speler controller noemen.
‫Dus ik heb nu een spelercontroller.
‫Nu moet ik dit instellen als de standaard spelercontroller.
‫Dus ik ga naar de map game mode, open beep, tune tanks, game mode en open de volledige blauwdruk.
‫Editor En hier zie ik de klasse van de spelercontroller.
‫Ik ga op de vervolgkeuzelijst klikken en BP tune tanks, player controller selecteren en compileren en opslaan
‫en afsluiten.
‫Dus nu hebben we de custom player controller class.
‫We zijn klaar om hier wat functionaliteit aan toe te voegen.
‫Dus wat ik zou willen is hier een functie die de speler-ingeschakelde staat kan instellen, ongeacht of de speler
‫is ingeschakeld om input toe te voegen die de tank zal verplaatsen.
‫Nu ben ik van plan dit vanuit de spelmodus te bellen als de acteur sterft.
‫Dus ik ga hier een openbare sectie maken en de functie komt te vervallen.
‫En ik ga deze set player-enabled state gewoon noemen, die een boolean genaamd B player-enabled kan
‫hebben.
‫Op deze manier kunnen we, als we deze functie aanroepen, true doorgeven als we willen dat de speler wordt
‫ingeschakeld of false als we willen dat deze wordt uitgeschakeld.
‫Dus laten we deze functie implementeren in tune tanks, player, controller.
‫CP Dus hier is mijn functie en natuurlijk heb ik hier de klassenaam nodig.
‫Dus het wordt een tune tanks, player, controller, en er is de scope resolutie operator.
‫Nu wordt deze functie vrij eenvoudig.
‫Het gaat de waarde van B-speler ingeschakeld controleren, en we kunnen dat doen met een eenvoudige if-controle.
‫Dus ik ga zeggen dat als B-speler is ingeschakeld en ik toegang wil tot de pion en invoer in of uit wil schakelen
‫en de manier om toegang te krijgen tot de pion die deze spelercontroller bezit, is om de functie te gebruiken, pion
‫krijgen.
‫Dit keert terug en een pion en de pionklasse heeft de functie.
‫Invoer inschakelen en invoer inschakelen, zoals we hebben gezien, vereist een spelercontroller, zodat we dit kunnen doorgeven.
‫Nu krijg ik de rode kronkels omdat we dat type pionklasse moeten opnemen en we kunnen de
‫opname van de pion gemakkelijk zien door ofwel naar de onwerkelijke motordocumentatie voor een pion te gaan, of
‫we kunnen gewoon naar onze basispionklasse gaan die erft van een pion.
‫En omdat het van een pion erft, hebben we gezien dat het de pionkop daar moet opnemen, zodat ik
‫dat kan kopiëren, inclusief het spelkader, een schuine streep pion.
‫Dus back in tune tanks player controller.
‫Die kan ik hier bovenaan plakken om van die rode kronkels af te komen.
‫Dus dit zorgt voor het geval wanneer B-speler ingeschakeld is waar, maar we hebben hier ook een LS-geval nodig.
‫In het LS-geval gaan we get pion noemen en er is een functie, net als invoer inschakelen, die is ontworpen
‫om invoer uit te schakelen en het heet, zoals je zou kunnen raden, invoer uitschakelen.
‫En hiervoor is ook een spelercontroller nodig waar we hierin aan voorbij gaan.
‫Nu heeft de spelercontroller die muiscursor weergeven en dat gaan we ook instellen.
‫En we willen het instellen op basis van het al dan niet inschakelen van de speler.
‫Dus wat de Booleaanse waarde van B-speler ook is ingeschakeld, we gaan B show mouse cursor op die waarde instellen.
‫Dus we gaan zeggen B sho muiscursor is gelijk aan B speler ingeschakeld.
‫Nu hebben we de muiscursor nog niet getoond.
‫We gaan naar dat deel.
‫We zouden eigenlijk graag de muiscursor willen zien terwijl we het spel spelen, zodat we weten waar onze tank
‫op mikt.
‫Dus daar komen we snel achter.
‫Maar voor nu hebben we deze leuke functie in de spelercontroller en we willen deze functie nu vanuit de spelmodus
‫aanroepen om je te laten zien wat ik bedoel.
‫Ik ga terug naar de spelmodus en hier is de acteur stierf-functie en je zult zien dat we invoer uitschakelen
‫en we zetten b toon muiscursor hier in.
‫Dus de reden dat ik graag een.
‫Functie op de spelercontroller zodat we die functie simpelweg doorgeven in een booleaanse waarde kunnen noemen.
‫In dit geval zouden we false doorgeven, zodat we die functie voor het uitschakelen van de invoer zouden krijgen en B, zodat
‫de muiscursor op false zou worden ingesteld.
‫Dus we kunnen die functie hier nu eenvoudig aanroepen in plaats van tank get player controller aan te roepen die
‫een spelercontroller retourneert.
‫Ik zou graag een pointervariabele willen hebben waarmee we toegang hebben tot die spelercontroller.
‫Dus hier in de spelmodi van tune tanks, ga ik een privévariabele toevoegen.
‫Ik ga het naar voren verklaren en het wordt van het type A tune tanks, speler, controller, dat is
‫een aanwijzing.
‫En ik ga dit deuntje Tank's Player Controller noemen en ik kan dit hier instellen in
‫de tune tanks-spelmodus en beginnen met spelen met gameplay-statistieken.
‫Als je je nu afvraagt of gameplay-statistieken een get player controller-functie hadden, dan had je gelijk.
‫Dit is een van die handige statische functies waarvoor een wereldcontextobject en een spelersindex nodig
‫zijn, zodat we de include voor gameplay-statistieken kunnen kopiëren en dit hier in Begin Play kunnen noemen.
‫Dus ik zie hier bovenaan, ik heb al gameplay-statistieken, dat komt omdat we het hier al gebruiken en
‫beginnen te spelen om speler te krijgen --.
‫We gaan hier hetzelfde doen om de aanwijzer van de spelercontroller in te stellen.
‫Dit is iets wat je moet weten hoe te doen.
‫Dus waarom pauzeer je de video niet en doe je hier een kleine mini-uitdaging en stel je gewoon de waarde in
‫van tune tanks, player controller.
‫Oké.
‫Dus we gaan zeggen tune tanks, speler, controller, en we stellen het gelijk aan het
‫resultaat van je gameplay-statistieken krijg spelercontroller en we weten dat het wereldcontextobject dit kan zijn en de spelerindex is
‫niet negen maar nul .
‫En natuurlijk weten we dat dit een spelercontroller retourneert en niet een spelercontroller voor tune tanks.
‫Dus net zoals we deden met Tank hier, gaan we casten.
‫Dus ik ga zeggen cast naar een tune tanks player controller en we casten het resultaat van get player
‫controller.
‫Dus nu, na Begin Play, hebben we de tune tanks, player controller.
‫En nu kunnen we hier komen en in plaats van de spelercontroller te krijgen met behulp van de
‫spelercontroller rechtstreeks uit de tank, kunnen we controleren of onze spelercontroller met variabele tune-tanks geldig is en dan kunnen we die
‫functie oproepen die we hebben gemaakt.
‫Laten we teruggaan en ernaar kijken.
‫Het wordt de status 'set player enabled' genoemd en hier in de spelmodus willen we de invoer uitschakelen en de cursor niet meer
‫weergeven, wat betekent dat we hiervoor 'false' doorgeven.
‫Dus we gaan zeggen tune tanks, player, controller, set player enabled state en we geven hiervoor false door en we gebruiken
‫tune tanks, player controller, wat betekent dat we tune tanks, player controller moeten
‫opnemen.
‫Dus hier bovenaan gaan we tune-tanks, spelercontroller opnemen.
‫En nu hebben we dit type gedefinieerde OC.
‫Laten we doorgaan en dit compileren.
‫En het laatste wat we zullen doen voordat we dit afronden, is naar onze spelercontrollerblauwdruk gaan en ik zou
‫graag willen dat je naar beneden scrolt naar het gedeelte over de muisinterface en je zult zien dat er Standaard muiscursor staat.
‫Nu kunnen we op de vervolgkeuzelijst klikken en er zijn een aantal verschillende cursors om uit te kiezen.
‫En ik ga Crosshairs kiezen.
‫Nu laten we de muiscursor nog niet zien, maar zodra we het spel starten, laten we de cursor zien.
‫En als we dat doen, wil ik dat het een vizier is in plaats van de standaard witte pijl die we altijd zien als we
‫naar de muiscursor kijken.
‫Dus stel de standaard muiscursor in op dradenkruizen en we zullen die dradenkruizen kunnen zien zodra we de
‫muiscursor daadwerkelijk hebben ingeschakeld.
‫Samengevat hebben we een aangepaste spelercontrollerklasse gemaakt en die gebruiken we om invoer in of uit te schakelen met een functie
‫die we in die klasse hebben geplaatst.
‫En we gebruiken die functie ook om de muiscursor weer te geven of de muiscursor te verbergen op basis van de
‫doorgegeven Boolean.
‫En in de blauwdruk die we hebben gemaakt, stellen we het type muiscursor in en we gaan heel snel
‫zien hoe die muiscursor met vizier eruitziet als we de muiscursor beginnen te tonen wanneer het spel begint.
‫Geweldig werk dus.
‫We hebben nu deze spelercontroller en we zijn klaar om door te gaan met het implementeren van gamefunctionaliteit.
‫Dus ik zie je in de volgende video.