‫In deze lezing gaan we een C++-klasse maken.
‫Nu hebben we een klasse nodig die we voor onze pionnen kunnen gebruiken.
‫Nu zeg ik pionnen, meervoud, omdat er twee verschillende pionnen in ons spel zullen zijn.
‫Er zal een tank zijn die we gebruiken om door het level te rollen, en
‫er zal een torentje zijn dat onze vijand zal zijn, zodat we een basispionklasse kunnen creëren.
‫En dit zal de basisfunctionaliteit hebben die zowel de tank als de toren zullen delen.
‫En op deze manier kunnen we onze twee kinderklassen, de tank en het torentje, creëren.
‫Deze gaan dus eigenschappen erven van de basispionklasse en dit zijn dingen die beide pionnen zullen
‫delen, zoals het hebben van het gaas, het hebben van een capsulecomponent en de mogelijkheid om projectielen
‫te lanceren.
‫Nu gaan we in op al deze functies in toekomstige video's voor deze video.
‫We gaan gewoon de C++-klasse maken en er enkele basisvariabelen aan toevoegen.
‫Dit is dus onze motivatie voor het maken van onze eerste C++-klasse.
‫Nu zijn we klaar om enkele C++-klassen voor dit project te maken.
‫Nu zie je hier in de inhoudbrowser dat er geen mappen zijn voor C++-klassen.
‫Dat komt omdat we er nog geen hebben gemaakt, maar we staan op het punt om nu te schrijven, zodat we naar tools
‫kunnen gaan en een nieuwe C++-klasse kunnen selecteren.
‫En hier gaan we de bovenliggende klasse kiezen voor de klasse die we gaan maken.
‫En standaard hebben we hier verschillende opties om uit te kiezen.
‫Dit had je in eerdere colleges moeten zien.
‫Dus nu moeten we hier enkele beslissingen nemen.
‫Ten eerste, welke ouderklasse gaan we kiezen?
‫Wij hebben.
‫De eerste is geen.
‫Dat zou ons in principe in staat stellen om een gewone oude C++-klasse te maken, maar we hebben wat extra functionaliteit nodig.
‫Ten eerste willen we een instantie van dit object in de wereld kunnen plaatsen.
‫Dus dat kunnen we niet doen met een gewone oude C++-klasse.
‫We zouden dat kunnen doen met een personage of een pion of een acteur, maar welke van deze is het meest geschikt
‫voor wat we willen doen?
‫We moeten een stap terug doen en nadenken over wat we hier precies proberen te creëren.
‫We proberen een tank te maken die we kunnen besturen en over het niveau kunnen bewegen en projectielen kunnen schieten, zodat we
‫schade kunnen aanrichten en al dat goede spul in onze activamap.
‫Om ons eraan te herinneren, we hebben deze map met mazen hier en we hebben de tankbasis en we hebben de tankkoepel.
‫Dit zijn twee verschillende meshes die in onze klas zullen voorkomen.
‫En dus hebben we de mogelijkheid nodig om meshes te hebben.
‫En dus heeft een gewone C++-klasse die mogelijkheid niet.
‫Laten we hier dus even over nadenken.
‫Welke ouderklasse moeten we gebruiken?
‫Welnu, de eerste klas die waarschijnlijk in je opkomt, is de acteursklasse.
‫Nu heeft de acteursklasse het vermogen om in de wereld te worden geplaatst.
‫Dus dat is een goed begin.
‫Het heeft ook de mogelijkheid om een visuele weergave te hebben.
‫Of dat nu een mesh is of iets anders, het kan daadwerkelijk worden gezien zodra je het in de wereld plaatst, op voorwaarde dat je
‫het een mesh geeft of wat het ook is dat je wilt zien.
‫Nu afgeleid van acteur, hebben we de -- klasse en de -- erft al die kwaliteiten
‫van de acteursklasse, behalve dat het extra kwaliteiten heeft zoals het vermogen om door een controller te worden bezeten.
‫Dit hele bezitsgedoe is iets waar later meer in detail op wordt ingegaan, maar begrijp voor nu gewoon dat
‫dit betekent dat een -- kan worden bestuurd door een speler.
‫Dus als u op een muisknop of een toetsenbordtoets drukt, kan dit worden ingesteld en geconfigureerd zodat we de
‫-- rond kunnen verplaatsen.
‫Dus dit klinkt als iets dat we zeker zouden willen voor onze tank.
‫Dus door bewegingsinvoer af te handelen, klinkt de -- als een redelijk goede keuze die nu is afgeleid van de
‫-- klasse en dus alle dingen erft die de -- heeft, plus alle dingen die de -- geërfd heeft
‫van zijn bovenliggende klasse.
‫We hebben de karakterklasse die een aantal karakterspecifieke dingen heeft.
‫Het heeft bijvoorbeeld iets dat een karakterbewegingscomponent wordt genoemd.
‫Nu, een -- heeft dit niet.
‫Een personagebewegingscomponent geeft het personage extra mogelijkheden, zoals verschillende bewegingsmodi zoals vliegen en
‫zwemmen en hurken en andere dingen die specifiek zijn voor personages.
‫De karakterklasse is goed voor tweevoetige karakters en het zal niet erg goed werken voor niet-tweevoetige karakters, dingen
‫die geen wezens met twee benen zijn.
‫En hoewel het best geweldig zou zijn om een tank rond het niveau te laten vliegen en bommen te
‫laten vallen op alles wat hij ziet, gaan we in deze sectie niet zoiets ingewikkelds doen.
‫We gaan gewoon een tank maken die rond kan rollen.
‫Dus we hebben echt geen karakterbewegingscomponent of een van die speciale karakterspecifieke dingen nodig.
‫Dus hiervoor denk ik dat een -- perfect is voor wat we proberen te bereiken.
‫Dus ik ga je uitdagen om een nieuwe C++-klasse te maken, een klasse te maken op basis van --, en deze nieuwe klasse een naam
‫te geven op basis van --.
‫Nu kunt u alle instellingen laten zoals ze zijn.
‫In de wizard voor het maken van klassen.
‫U hoeft het bestandspad of iets dergelijks niet te wijzigen, dus pauzeer de video en maak
‫uw eerste C++-klasse voor dit project.
‫Dus terug hier in het level.
‫Dus laten we naar tools gaan en een nieuwe C++-klasse maken.
‫Ik heb de C++-klasse nog niet gemaakt.
‫Ik heb dit net afgesloten om terug te gaan naar die dia.
‫Maar nu ik terug ben, ben ik klaar om mijn eerste C++-klasse voor dit project te maken en ik ga kiezen --
‫en je zult zien dat elke keer dat je eroverheen beweegt.
‫Dit heb je vast wel eens eerder gezien.
‫We krijgen een tooltip die verschijnt en die zegt: -- is de basisklasse van alle acteurs die door spelers bezeten
‫kunnen worden.
‫Of ik weet dat dat best spannend klinkt, maar we gaan dit zo configureren dat het verplaatsbaar is door invoer van
‫een speler.
‫Dit is dus ideaal.
‫Het gaat verder met te zeggen dat ze de fysieke representaties zijn van spelers en wezens in een level.
‫Met andere woorden, als we deze tank eenmaal hebben gemaakt, zal hij ons vertegenwoordigen als spelers in de wereld.
‫Best wel gaaf.
‫Dus selecteer -- en klik op volgende en het toont ons het pad waar het deze klasse in ons project gaat plaatsen en
‫je zult zien dat het in source slash tune tanks staat.
‫Nu willen we onze nieuwe naam -- want mijn -- is een afschuwelijke naam en het is erg vaag.
‫We hebben nu iets specifiekers nodig.
‫We zijn van plan dit als een basisklasse te gebruiken, wat betekent dat we klassen uit deze klasse
‫gaan afleiden, zodat we deze basis kunnen noemen --.
‫Ik weet dat dat niet veel beter is dan mijn --, maar goed, het zegt ons dat dit een basis is --.
‫Hier gaan we in de toekomst kinderklassen van afleiden.
‫Daar komen we op.
‫Maar voor nu gaan we deze basis noemen -- en we gaan op Create Class klikken.
‫Oke.
‫Dus Visual Studio-code is voor ons opengegaan met onze nieuwe klasse.
‫We hebben gebaseerd op H en gebaseerd op CP.
‫Nu kunnen we deze zijbalk sluiten door daar op het Verkenner-pictogram te klikken en kunnen we kijken wat de code van
‫V voor ons heeft gegenereerd.
‫Dus standaard krijgen we de klassenconstructor en drie functies voor het starten, spelen, aanvinken en instellen
‫van de spelerinvoercomponent.
‫Nu moet u bekend zijn met Begin, Spelen en de opmerkingen hier aanvinken.
‫Leg uit wat ze doen.
‫Het instellen van de spelerinvoercomponent is iets dat de pion krijgt en deze functie stelt ons in staat om invoer
‫te verwerken zoals van een toetsenbordtoets of een muisklik en we zullen meer leren over hoe dit werkt in
‫toekomstige video's in de basisband.
‫CP Deze functies zijn voor ons gedefinieerd, maar ze zijn vrij kaal en zullen dat ook niet veranderen in
‫toekomstige video's.
‫Dus in deze video hebben we onze eerste C++-klasse gemaakt en de volgende video zal componenten bespreken en waarom we er enkele
‫aan onze nieuwe klasse zouden willen toevoegen.
‫Ik zie je snel.