﻿1
00:00:04,420 --> 00:00:06,220
‫Hallo en welkom terug.

2
00:00:06,250 --> 00:00:13,210
‫Nu hebben we al de mogelijkheid gecreëerd om met de dood om te gaan voor de tank en toren, en we zagen dat

3
00:00:13,210 --> 00:00:20,200
‫dit enkele extra stappen met onze tank met zich meebracht, aangezien we de spelercontroller gebruikten om invoer uit te schakelen en het tonen

4
00:00:20,200 --> 00:00:22,120
‫van de muiscursor uit te schakelen.

5
00:00:22,150 --> 00:00:28,270
‫Nu willen we onze eigen aangepaste spelercontrollerklasse hebben, zodat we er functionaliteit aan kunnen toevoegen die

6
00:00:28,300 --> 00:00:30,210
‫dit voor ons afhandelt.

7
00:00:30,220 --> 00:00:36,010
‫En dan willen we een blauwdruk maken op basis van deze klasse, zodat we toegang hebben tot

8
00:00:36,010 --> 00:00:42,580
‫enkele van de blootgestelde variabelen op de spelercontroller, zoals welke muiscursor moet worden weergegeven zodra we de muiscursor daadwerkelijk

9
00:00:42,580 --> 00:00:43,630
‫gaan weergeven.

10
00:00:43,660 --> 00:00:50,020
‫We gaan dus een spelercontrollerklasse maken en invoerfunctionaliteit in- en uitschakelen.

11
00:00:50,020 --> 00:00:54,490
‫En dan gaan we een blauwdruk maken en het muisaanwijzertype in blauwdrukken instellen.

12
00:00:54,520 --> 00:00:58,030
‫Het maken van deze klasse is iets dat u weet te doen.

13
00:00:58,030 --> 00:01:04,480
‫Dus je gaat een spelercontrollerklasse maken voor je uitdaging, een nieuwe C++-klasse maken en

14
00:01:04,480 --> 00:01:07,300
‫spelercontroller kiezen als de bovenliggende klasse.

15
00:01:07,300 --> 00:01:11,800
‫Noem dit deuntje tanks, spelercontroller of iets dergelijks.

16
00:01:11,800 --> 00:01:15,760
‫En als je klaar bent, maak je een blauwdruk op basis van deze klasse.

17
00:01:15,760 --> 00:01:21,340
‫Nu, als je eenmaal de blauwdruk hebt, kun je deze toewijzen als de standaard spelercontroller in

18
00:01:21,340 --> 00:01:22,330
‫de spelmodusblauwdruk.

19
00:01:22,360 --> 00:01:25,180
‫Doe dit in de spelmodus, blauwdruk zelf.

20
00:01:25,360 --> 00:01:30,280
‫Pauzeer de video en maak nu de spelercontrollerklasse voor de tank.

21
00:01:33,230 --> 00:01:33,680
‫Oké.

22
00:01:33,680 --> 00:01:34,790
‫Dus ik ben weer terug in de redactie.

23
00:01:34,790 --> 00:01:41,210
‫Ik ga met de rechtermuisknop klikken op nieuwe C ++ -klasse en naar beneden scrollen en ik zal zien dat de spelercontroller hier

24
00:01:41,210 --> 00:01:42,170
‫een optie is.

25
00:01:42,170 --> 00:01:48,320
‫Dus ik ga spelercontroller selecteren en mijn nieuwe spelercontroller tune tanks noemen.

26
00:01:49,110 --> 00:01:53,190
‫Speler, controller en klik op klasse maken.

27
00:01:53,190 --> 00:01:56,790
‫En hier heb ik mijn nieuwe player controller class.

28
00:01:56,820 --> 00:02:00,030
‫De volgende stap is nu om op basis hiervan een blauwdruk te maken.

29
00:02:00,030 --> 00:02:06,060
‫Dus ik ben terug in de editor en ik heb je niet verteld om dit te doen, maar ik ga een

30
00:02:06,060 --> 00:02:09,360
‫nieuwe map maken hier in mijn blauwdrukkenmap genaamd Player Controller.

31
00:02:10,440 --> 00:02:15,480
‫En als je dezelfde mapstructuur wilt, kun je deze map nu maken als je dat nog niet

32
00:02:15,480 --> 00:02:19,170
‫hebt gedaan en vervolgens de blauwdruk van je spelercontroller hierin verplaatsen.

33
00:02:19,170 --> 00:02:23,610
‫Als u niet weet hoe u een blauwdruk van de ene map naar de andere moet verplaatsen, is dat vrij eenvoudig.

34
00:02:23,640 --> 00:02:30,810
‫Je gaat naar de map die de blauwdruk bevat, klikt en sleept naar de juiste map en klikt

35
00:02:30,810 --> 00:02:31,740
‫hierheen verplaatsen.

36
00:02:31,890 --> 00:02:36,900
‫Nu wil ik mijn projectiel niet naar deze map verplaatsen, dus ik ga gewoon hier in de inhoudbrowser

37
00:02:36,900 --> 00:02:38,760
‫klikken om die actie te annuleren.

38
00:02:38,760 --> 00:02:41,370
‫Dus nu heb ik een map met spelercontrollers.

39
00:02:41,370 --> 00:02:47,760
‫Ik ga met de rechtermuisknop klikken en op Blueprint Class klikken en in deze zoekopdracht ga ik op zoek

40
00:02:47,760 --> 00:02:51,460
‫naar toontanks, spelercontroller en selecteer die klasse en klik op Selecteren.

41
00:02:51,480 --> 00:02:57,180
‫Nu kan ik deze pieptoon onderstreping toon tanks speler controller noemen.

42
00:02:57,390 --> 00:02:59,070
‫Dus ik heb nu een spelercontroller.

43
00:02:59,070 --> 00:03:02,100
‫Nu moet ik dit instellen als de standaard spelercontroller.

44
00:03:02,100 --> 00:03:08,220
‫Dus ik ga naar de map game mode, open beep, tune tanks, game mode en open de volledige blauwdruk.

45
00:03:08,220 --> 00:03:11,670
‫Editor En hier zie ik de klasse van de spelercontroller.

46
00:03:11,940 --> 00:03:18,690
‫Ik ga op de vervolgkeuzelijst klikken en BP tune tanks, player controller selecteren en compileren en opslaan

47
00:03:18,690 --> 00:03:19,950
‫en afsluiten.

48
00:03:19,950 --> 00:03:23,250
‫Dus nu hebben we de custom player controller class.

49
00:03:23,250 --> 00:03:25,680
‫We zijn klaar om hier wat functionaliteit aan toe te voegen.

50
00:03:25,680 --> 00:03:31,110
‫Dus wat ik zou willen is hier een functie die de speler-ingeschakelde staat kan instellen, ongeacht of de speler

51
00:03:31,110 --> 00:03:34,890
‫is ingeschakeld om input toe te voegen die de tank zal verplaatsen.

52
00:03:34,890 --> 00:03:39,690
‫Nu ben ik van plan dit vanuit de spelmodus te bellen als de acteur sterft.

53
00:03:39,690 --> 00:03:44,940
‫Dus ik ga hier een openbare sectie maken en de functie komt te vervallen.

54
00:03:44,940 --> 00:03:55,020
‫En ik ga deze set player-enabled state gewoon noemen, die een boolean genaamd B player-enabled kan

55
00:03:55,020 --> 00:03:55,950
‫hebben.

56
00:03:56,550 --> 00:04:01,830
‫Op deze manier kunnen we, als we deze functie aanroepen, true doorgeven als we willen dat de speler wordt

57
00:04:01,830 --> 00:04:04,620
‫ingeschakeld of false als we willen dat deze wordt uitgeschakeld.

58
00:04:04,620 --> 00:04:09,090
‫Dus laten we deze functie implementeren in tune tanks, player, controller.

59
00:04:09,360 --> 00:04:14,100
‫CP Dus hier is mijn functie en natuurlijk heb ik hier de klassenaam nodig.

60
00:04:14,100 --> 00:04:20,370
‫Dus het wordt een tune tanks, player, controller, en er is de scope resolutie operator.

61
00:04:20,370 --> 00:04:22,860
‫Nu wordt deze functie vrij eenvoudig.

62
00:04:22,860 --> 00:04:28,320
‫Het gaat de waarde van B-speler ingeschakeld controleren, en we kunnen dat doen met een eenvoudige if-controle.

63
00:04:28,320 --> 00:04:35,460
‫Dus ik ga zeggen dat als B-speler is ingeschakeld en ik toegang wil tot de pion en invoer in of uit wil schakelen

64
00:04:35,460 --> 00:04:41,790
‫en de manier om toegang te krijgen tot de pion die deze spelercontroller bezit, is om de functie te gebruiken, pion

65
00:04:41,790 --> 00:04:42,390
‫krijgen.

66
00:04:42,390 --> 00:04:47,520
‫Dit keert terug en een pion en de pionklasse heeft de functie.

67
00:04:47,520 --> 00:04:55,860
‫Invoer inschakelen en invoer inschakelen, zoals we hebben gezien, vereist een spelercontroller, zodat we dit kunnen doorgeven.

68
00:04:56,190 --> 00:05:02,490
‫Nu krijg ik de rode kronkels omdat we dat type pionklasse moeten opnemen en we kunnen de

69
00:05:02,490 --> 00:05:09,090
‫opname van de pion gemakkelijk zien door ofwel naar de onwerkelijke motordocumentatie voor een pion te gaan, of

70
00:05:09,090 --> 00:05:13,890
‫we kunnen gewoon naar onze basispionklasse gaan die erft van een pion.

71
00:05:14,070 --> 00:05:19,890
‫En omdat het van een pion erft, hebben we gezien dat het de pionkop daar moet opnemen, zodat ik

72
00:05:19,890 --> 00:05:23,430
‫dat kan kopiëren, inclusief het spelkader, een schuine streep pion.

73
00:05:24,150 --> 00:05:26,850
‫Dus back in tune tanks player controller.

74
00:05:26,850 --> 00:05:30,900
‫Die kan ik hier bovenaan plakken om van die rode kronkels af te komen.

75
00:05:30,900 --> 00:05:37,470
‫Dus dit zorgt voor het geval wanneer B-speler ingeschakeld is waar, maar we hebben hier ook een LS-geval nodig.

76
00:05:38,160 --> 00:05:45,210
‫In het LS-geval gaan we get pion noemen en er is een functie, net als invoer inschakelen, die is ontworpen

77
00:05:45,210 --> 00:05:50,580
‫om invoer uit te schakelen en het heet, zoals je zou kunnen raden, invoer uitschakelen.

78
00:05:50,580 --> 00:05:55,020
‫En hiervoor is ook een spelercontroller nodig waar we hierin aan voorbij gaan.

79
00:05:55,020 --> 00:06:00,480
‫Nu heeft de spelercontroller die muiscursor weergeven en dat gaan we ook instellen.

80
00:06:00,480 --> 00:06:04,500
‫En we willen het instellen op basis van het al dan niet inschakelen van de speler.

81
00:06:04,500 --> 00:06:10,950
‫Dus wat de Booleaanse waarde van B-speler ook is ingeschakeld, we gaan B show mouse cursor op die waarde instellen.

82
00:06:10,950 --> 00:06:18,090
‫Dus we gaan zeggen B sho muiscursor is gelijk aan B speler ingeschakeld.

83
00:06:18,360 --> 00:06:20,730
‫Nu hebben we de muiscursor nog niet getoond.

84
00:06:20,730 --> 00:06:21,990
‫We gaan naar dat deel.

85
00:06:21,990 --> 00:06:27,210
‫We zouden eigenlijk graag de muiscursor willen zien terwijl we het spel spelen, zodat we weten waar onze tank

86
00:06:27,210 --> 00:06:27,960
‫op mikt.

87
00:06:27,960 --> 00:06:29,490
‫Dus daar komen we snel achter.

88
00:06:29,490 --> 00:06:35,490
‫Maar voor nu hebben we deze leuke functie in de spelercontroller en we willen deze functie nu vanuit de spelmodus

89
00:06:35,490 --> 00:06:38,550
‫aanroepen om je te laten zien wat ik bedoel.

90
00:06:38,550 --> 00:06:44,610
‫Ik ga terug naar de spelmodus en hier is de acteur stierf-functie en je zult zien dat we invoer uitschakelen

91
00:06:44,610 --> 00:06:47,070
‫en we zetten b toon muiscursor hier in.

92
00:06:47,070 --> 00:06:48,450
‫Dus de reden dat ik graag een.

93
00:06:48,540 --> 00:06:54,420
‫Functie op de spelercontroller zodat we die functie simpelweg doorgeven in een booleaanse waarde kunnen noemen.

94
00:06:54,450 --> 00:07:00,600
‫In dit geval zouden we false doorgeven, zodat we die functie voor het uitschakelen van de invoer zouden krijgen en B, zodat

95
00:07:00,600 --> 00:07:02,570
‫de muiscursor op false zou worden ingesteld.

96
00:07:02,580 --> 00:07:08,880
‫Dus we kunnen die functie hier nu eenvoudig aanroepen in plaats van tank get player controller aan te roepen die

97
00:07:08,880 --> 00:07:09,960
‫een spelercontroller retourneert.

98
00:07:10,050 --> 00:07:15,590
‫Ik zou graag een pointervariabele willen hebben waarmee we toegang hebben tot die spelercontroller.

99
00:07:15,600 --> 00:07:20,560
‫Dus hier in de spelmodi van tune tanks, ga ik een privévariabele toevoegen.

100
00:07:20,580 --> 00:07:27,990
‫Ik ga het naar voren verklaren en het wordt van het type A tune tanks, speler, controller, dat is

101
00:07:27,990 --> 00:07:28,800
‫een aanwijzing.

102
00:07:28,800 --> 00:07:35,640
‫En ik ga dit deuntje Tank's Player Controller noemen en ik kan dit hier instellen in

103
00:07:35,640 --> 00:07:39,500
‫de tune tanks-spelmodus en beginnen met spelen met gameplay-statistieken.

104
00:07:39,510 --> 00:07:45,360
‫Als je je nu afvraagt of gameplay-statistieken een get player controller-functie hadden, dan had je gelijk.

105
00:07:45,570 --> 00:07:51,630
‫Dit is een van die handige statische functies waarvoor een wereldcontextobject en een spelersindex nodig

106
00:07:51,630 --> 00:07:58,020
‫zijn, zodat we de include voor gameplay-statistieken kunnen kopiëren en dit hier in Begin Play kunnen noemen.

107
00:07:58,020 --> 00:08:02,970
‫Dus ik zie hier bovenaan, ik heb al gameplay-statistieken, dat komt omdat we het hier al gebruiken en

108
00:08:02,970 --> 00:08:05,310
‫beginnen te spelen om speler te krijgen --.

109
00:08:05,310 --> 00:08:09,350
‫We gaan hier hetzelfde doen om de aanwijzer van de spelercontroller in te stellen.

110
00:08:09,360 --> 00:08:11,400
‫Dit is iets wat je moet weten hoe te doen.

111
00:08:11,400 --> 00:08:16,680
‫Dus waarom pauzeer je de video niet en doe je hier een kleine mini-uitdaging en stel je gewoon de waarde in

112
00:08:16,680 --> 00:08:18,060
‫van tune tanks, player controller.

113
00:08:20,990 --> 00:08:21,470
‫Oké.

114
00:08:21,470 --> 00:08:28,760
‫Dus we gaan zeggen tune tanks, speler, controller, en we stellen het gelijk aan het

115
00:08:28,760 --> 00:08:37,550
‫resultaat van je gameplay-statistieken krijg spelercontroller en we weten dat het wereldcontextobject dit kan zijn en de spelerindex is

116
00:08:37,550 --> 00:08:40,160
‫niet negen maar nul .

117
00:08:40,160 --> 00:08:45,920
‫En natuurlijk weten we dat dit een spelercontroller retourneert en niet een spelercontroller voor tune tanks.

118
00:08:45,920 --> 00:08:49,460
‫Dus net zoals we deden met Tank hier, gaan we casten.

119
00:08:49,460 --> 00:08:58,970
‫Dus ik ga zeggen cast naar een tune tanks player controller en we casten het resultaat van get player

120
00:08:58,970 --> 00:08:59,720
‫controller.

121
00:08:59,930 --> 00:09:05,270
‫Dus nu, na Begin Play, hebben we de tune tanks, player controller.

122
00:09:05,270 --> 00:09:11,870
‫En nu kunnen we hier komen en in plaats van de spelercontroller te krijgen met behulp van de

123
00:09:11,870 --> 00:09:19,430
‫spelercontroller rechtstreeks uit de tank, kunnen we controleren of onze spelercontroller met variabele tune-tanks geldig is en dan kunnen we die

124
00:09:19,430 --> 00:09:21,830
‫functie oproepen die we hebben gemaakt.

125
00:09:21,830 --> 00:09:23,090
‫Laten we teruggaan en ernaar kijken.

126
00:09:23,090 --> 00:09:30,620
‫Het wordt de status 'set player enabled' genoemd en hier in de spelmodus willen we de invoer uitschakelen en de cursor niet meer

127
00:09:30,620 --> 00:09:33,650
‫weergeven, wat betekent dat we hiervoor 'false' doorgeven.

128
00:09:33,650 --> 00:09:43,490
‫Dus we gaan zeggen tune tanks, player, controller, set player enabled state en we geven hiervoor false door en we gebruiken

129
00:09:43,490 --> 00:09:49,340
‫tune tanks, player controller, wat betekent dat we tune tanks, player controller moeten

130
00:09:49,340 --> 00:09:50,300
‫opnemen.

131
00:09:50,300 --> 00:09:56,570
‫Dus hier bovenaan gaan we tune-tanks, spelercontroller opnemen.

132
00:09:57,620 --> 00:10:00,890
‫En nu hebben we dit type gedefinieerde OC.

133
00:10:00,890 --> 00:10:02,630
‫Laten we doorgaan en dit compileren.

134
00:10:02,780 --> 00:10:08,630
‫En het laatste wat we zullen doen voordat we dit afronden, is naar onze spelercontrollerblauwdruk gaan en ik zou

135
00:10:08,630 --> 00:10:15,320
‫graag willen dat je naar beneden scrolt naar het gedeelte over de muisinterface en je zult zien dat er Standaard muiscursor staat.

136
00:10:15,350 --> 00:10:19,730
‫Nu kunnen we op de vervolgkeuzelijst klikken en er zijn een aantal verschillende cursors om uit te kiezen.

137
00:10:19,730 --> 00:10:21,770
‫En ik ga Crosshairs kiezen.

138
00:10:21,950 --> 00:10:27,830
‫Nu laten we de muiscursor nog niet zien, maar zodra we het spel starten, laten we de cursor zien.

139
00:10:27,830 --> 00:10:33,920
‫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

140
00:10:33,920 --> 00:10:35,060
‫naar de muiscursor kijken.

141
00:10:35,060 --> 00:10:41,330
‫Dus stel de standaard muiscursor in op dradenkruizen en we zullen die dradenkruizen kunnen zien zodra we de

142
00:10:41,330 --> 00:10:43,040
‫muiscursor daadwerkelijk hebben ingeschakeld.

143
00:10:43,040 --> 00:10:50,540
‫Samengevat hebben we een aangepaste spelercontrollerklasse gemaakt en die gebruiken we om invoer in of uit te schakelen met een functie

144
00:10:50,540 --> 00:10:53,420
‫die we in die klasse hebben geplaatst.

145
00:10:53,420 --> 00:10:59,420
‫En we gebruiken die functie ook om de muiscursor weer te geven of de muiscursor te verbergen op basis van de

146
00:10:59,420 --> 00:11:00,290
‫doorgegeven Boolean.

147
00:11:00,290 --> 00:11:06,350
‫En in de blauwdruk die we hebben gemaakt, stellen we het type muiscursor in en we gaan heel snel

148
00:11:06,350 --> 00:11:12,140
‫zien hoe die muiscursor met vizier eruitziet als we de muiscursor beginnen te tonen wanneer het spel begint.

149
00:11:12,140 --> 00:11:12,980
‫Geweldig werk dus.

150
00:11:12,980 --> 00:11:18,620
‫We hebben nu deze spelercontroller en we zijn klaar om door te gaan met het implementeren van gamefunctionaliteit.

151
00:11:18,620 --> 00:11:20,810
‫Dus ik zie je in de volgende video.

